vc#.net2005开发中遇到的小问题及解决

来源:互联网 发布:开机一直配置windows 编辑:程序博客网 时间:2024/05/10 11:38

 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单元格进行搜索;

原创粉丝点击