1,在浏览这样页面时,浏览器提示异常:
类型“TextBox”的控件“TextBox1”必须放在具有 runat=server 的窗体标记内。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Web.HttpException: 类型“TextBox”的控件“TextBox1”必须放在具有 runat=server 的窗体标记内。
------->
对于大多数控件来说,是要在服务器端进行事件处理和获得某些返回值的,因此需要放在<form runat=server></form>之间。
解决:
原来是我自己设计master模板源码在<body></body>之间没有放<form runat=server></form>,然后把所有代码放在这个中间!
(参考:http://blog.csdn.net/net_lover/archive/2006/09/25/1282106.aspx)
----------------------------------
2,编译ASP.NET时,提示“请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如Page 或UserControl)是正确的。”
解决:abc.aspx源码视图中第一行类似<%@ Page >中的属性inherits的值应该和abc.aspx.cs代码类名一致
3,关于页面与控件之间的参数传递;
A是页面,B是用户控件,将A中的数值作为参数传递给B控件,应该在A的源码中调用B的函数更改B中的数据;
4,关于Gridview中
Label lbl1 = (Label)gvShopCart.Rows[e.RowIndex].Cells[2].FindControl("label1");
方法的使用:
>返回的是当前状态下的容器中的对象,edit和show模式分开find;
>该函数是在容器中寻找指定名称的控件,不知为何,上例的结果和如下等同
Label lbl1 = (Label)gvShopCart.Rows[e.RowIndex].FindControl("label1");换句话说,并不局限于cell单元格进行搜索;