asp.net页面必须要<form runat="server"><form>吗
发布网友
发布时间:2024-10-06 11:48
我来回答
共4个回答
热心网友
时间:2024-10-28 08:50
web form 实际就是指
<form runat=server> 这样的情况。asp.net使用web form,并不代表asp.net就放弃了原始的form提交的方式。<form标签,有没有runat=server,情况是完全不同的。有runat=server,那么你在页面里就可以使用 控件.属性的方法来访问表单提交的值。例如 string name = this.textbox_name.text;
如果没有,那么asp.net实际也支持原始的form的方式,这种方式,你要想获取表单的内容,就要使用request.querystring or request.form来获取。就是你GetInfo1.aspx页面里所写的代码。如果你以前写过php,asp,实际都是这种方式。
综上所述,asp.net既支持新的方式,也支持老的方式,所以那个页面能运行一点不奇怪。
热心网友
时间:2024-10-28 08:51
可能我没弄明白你问这个问题的目的。
1: string NickName = Request.QueryString["nickname"];
是不是想问 form1.htm 的Form没有runat=server,但是GetInfo1.aspx还能获取到这个nickname么?
如果这样的话:你看看你的浏览器地址栏: GetInfo1.aspx?nickname=XXXXXXXXXXX
2:<form action="GetInfo1.aspx" method="get">
这个get是相对于post来说的。例如你这里用的是get,服务器端要用Request.QueryString来获取。你也可以手动的在地址栏修改它。
如果你用post.服务器端要用Request.Form[]来读取,你再看看用这种方式地址栏上的URL有什么区别。
3:runat="server"这个属性,只是用来表示这个对象在不在服务器上运行,需不需要在服务器端对它进行编程访问(还需要一个ID),html就是一个静态页面,文件中的标签,不需要也不可能runat sever。
4:<form id="sss" runat="server">
<center>
接收GET方法传来的值:
<hr/>
<%
string NickName = Request.QueryString["nickname"];
Response.Write("GET方法传来的nickname的值为:"+NickName);
%>
</center>
</form>
这个不是你说的窗体么?对于“窗体”,你是怎么理解的呢?
热心网友
时间:2024-10-28 08:51
asp.net页面必须要<form runat="server"><form>吗?
答案:
在使用具有runat="server"属性的服务器控件时,必须把服务器控件放在<form runat="server"></form>中。
否则,不需要有。
热心网友
时间:2024-10-28 08:52
action="GetInfo1.aspx" 已经指定 form提交的时候交给GetInfo1.aspx这个页面来做,
这时候你肯定会问,什么时候提交呢?看一下这个标签<input type="submit" value="发送"/> 这个type="submit"就是提交按钮,它是html元素。点击它,就会提交form 而form提交时会交给GetInfo1.aspx 这个页面来做,这时候,肯定会进入GetInfo1.aspx的Page_Load事件了