runat="server" 是什么意思?

<body><formrunat="server"id="form1"method="post"action="test.aspx"><div><inputid="Tex... <body>
<form runat="server" id="form1" method="post" action="test.aspx">
<div>
<input id="Text1" type="text" name="name1"/>
<input id="Submit1" type="submit" value="submit" />
<input id="Reset1" type="reset" value="reset" /></div>
</form>
</body>
以上代码点击按钮的时候不能转到test.aspx页面,删除runat="server"后就可以正常转到test.aspx页,而且能够正常显示,为什么啊?
既然说毫无意义,删除和不删除效果确不一样啊!
展开
 我来答
帐号已注销
高粉答主

2020-04-01 · 关注我不会让你失望
知道小有建树答主
回答量:1346
采纳率:100%
帮助的人:35.9万
展开全部

runat="server" :运行在服务器端。

既然有了runat="server"别再加action了,两个的提交方式都不一样,action将form数据给

test.aspx页面,而runat="server"直接回交服务器,处理数据,又以数据加密后的hidden属性的input

件插入回去实现表单的状态保存,如果test.aspx是另一个页面,在进一步说就是你可以在页面的.cs文件中直接使用,与在客户端运行相对的;

比如java脚本,是浏览器解析的,对于有此语句的控件,转换成对应的HtmlControl子类加入到页面的控件集合,对于没有此语句的,直接写入html中。


扩展资料


HTML 服务器控件 (HTML server control)

属于 System.Web.UI.HtmlControls 命名空间的 ASP.NET 服务器控件。HTML 服务器控件直接映射到 HTML 元素,并在 ASP.NET 页中声明为一个由 runat="server" 属性标记的 HTML 元素;

例如 <button runat="server" />。与 Web 服务器控件相比,HTML 服务器控件没有 asp 标记前缀。

WEB服务器控件是HTML控件的一种扩展,区别是:

1、前者可以触发服务器控件特有的事件,后者只能通过回递的方式触发服务器上的页面级事件。

2、输入到前者中的数据在请求之间可以维护(即具有状态管理功能),而后者无法自动维护数据,只能使用页面级的脚本来保存和恢复。

3、前者可以自动检测浏览器并调整到恰当的显示,而后者没有自动适应功能,必须在代码中手动检测浏览器。

4、每个服务器控件都具有一组属性,可以在服务器端的代码中更改控件的外观和行为,而后者只有HTML属性。

如果某些控件不需要服务器端的事件或状态管理功能时,可以选择HTML控件,这样可以提高应用程序的性能。

Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
完身好2028
推荐于2018-02-23 · TA获得超过954个赞
知道小有建树答主
回答量:443
采纳率:0%
帮助的人:289万
展开全部
runat="server"如LS那位仁兄说的那样,既然有了runat="server"别再加action了,两个的提交方式都不一样,action将form数据给了test.aspx页面,而runat="server"直接回交服务器,处理数据,又以数据加密后的hidden属性的input控件插入回去,实现表单的状态保存~如果test.aspx是另一个页面当然就有了你说的那种现象了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紫恋恨天
2009-01-08 · TA获得超过102个赞
知道答主
回答量:90
采纳率:0%
帮助的人:0
展开全部
说的是这个form中包含的控件里的代码通过提交按钮Submit1提交给服务器页面来处理,runat是处理页面,而server代表的是服务器。如果不加这句,那么就和ASP一样了,根本就不需要ASP.NET了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
慕浩星兴Gf
2009-01-08 · TA获得超过245个赞
知道答主
回答量:96
采纳率:0%
帮助的人:0
展开全部
asp控件都有runat=server 的属性,写的时候VS会提示你输入这个属性,这个属性表示这是一个服务器端空间,即这个空间用来客户端和服务器端进行交互。
html控件也可以加这个属性,但是使用起来比较麻烦,需要加入隐藏按钮,通过JS触发 onserverclick()事件来跟服务器端进行数据交互。

input 属于html控件,可以不加这个属性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lfq761204
2009-01-07 · TA获得超过137个赞
知道答主
回答量:179
采纳率:0%
帮助的人:163万
展开全部
加runat="server"表示该控件是服务器端控件,不加表示是客户端控件。
就你这段代码而言,form里加runat=server毫无意义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式