你怎么能判断形式RUNAT =服务器已经设置?
题
当编码一个Asp.Net页时,通常在ASPX添加runat属性:
<form id="form1" runat="server">
是否有可能在代码中告诉后面如果用户没有这样做,即他们只这样做:
<form id="form1">
下面表格的ID为“form1的”,但在我的情况,我不知道这一点。后面像这样的代码是什么我要找:
if(Page.HasForm)
{
}
解决方案
您永远只能有每个.aspx页面中“RUNAT =服务器”上一个表单标签。所有您需要做的是检查是否Page.Form为空或不是。如果它为空,那么就没有形式已被标记为RUNAT服务器。
if (Page.Form != null)
{
}
这是RUNAT =“服务器”的一部分,使.aspx页处理的元素,创建在服务器侧上的相应的对象。如果一个组件没有在服务器上运行,那么它不会添加到页面的控件层次结构。
其他提示
变种V = this.Form.TagName; //获取被maked作为RUNAT形式的名称。
当然,如果它不是maked为RUNAT那么后面你的代码无论如何都不会跑......
当你在代码页C#或Visual Basic代码,您将无法访问该对象不具备RUNAT =服务器选项设置。
您可以轻松地访问所有的控制使用的me.controls页面或什么之类的(我不知道确切的代码,但它接近这一点)的网页,并检查控件的类型,以获得形式
为什么你需要知道的?如果页面不具有中用runat =服务器的形式,它不能真正被用作服务器的页面。
您会能够从代码隐藏访问的形式:
Response.Write(form1.Name);
如果没有RUNAT = “服务器”,你只希望得到一个编译错误。
不隶属于 StackOverflow