asp.net页面必须要<form runat="server"><form>吗
记得曾经一本书上说过“asp.net页面就是一个web窗体。”可是下面的asp.net页面没有web窗体,但是它照样能运行,为什么?form1.htm文件代码:<!DOC...
记得曾经一本书上说过“asp.net页面就是一个web窗体。”
可是下面的asp.net页面没有web窗体,但是它照样能运行,为什么?
form1.htm文件代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
</head>
<body>
<center>
发送GET请求
<hr/>
<form action="GetInfo1.aspx" method="get">
您的大名:<input type="text" name="nickname"/><br/>
<input type="submit" value="发送"/>
</form>
</center>
</body>
</html>
GetInfo1.aspx页面代码如下:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="sss" runat="server">
<center>
接收GET方法传来的值:
<hr/>
<%
string NickName = Request.QueryString["nickname"];
Response.Write("GET方法传来的nickname的值为:"+NickName);
%>
</center>
</form>
</body>
</html>
ee 展开
可是下面的asp.net页面没有web窗体,但是它照样能运行,为什么?
form1.htm文件代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
</head>
<body>
<center>
发送GET请求
<hr/>
<form action="GetInfo1.aspx" method="get">
您的大名:<input type="text" name="nickname"/><br/>
<input type="submit" value="发送"/>
</form>
</center>
</body>
</html>
GetInfo1.aspx页面代码如下:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="sss" runat="server">
<center>
接收GET方法传来的值:
<hr/>
<%
string NickName = Request.QueryString["nickname"];
Response.Write("GET方法传来的nickname的值为:"+NickName);
%>
</center>
</form>
</body>
</html>
ee 展开
4个回答
展开全部
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既支持新的方式,也支持老的方式,所以那个页面能运行一点不奇怪。
<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既支持新的方式,也支持老的方式,所以那个页面能运行一点不奇怪。
展开全部
可能我没弄明白你问这个问题的目的。
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>
这个不是你说的窗体么?对于“窗体”,你是怎么理解的呢?
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>
这个不是你说的窗体么?对于“窗体”,你是怎么理解的呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
asp.net页面必须要<form runat="server"><form>吗?
答案:
在使用具有runat="server"属性的服务器控件时,必须把服务器控件放在<form runat="server"></form>中。
否则,不需要有。
答案:
在使用具有runat="server"属性的服务器控件时,必须把服务器控件放在<form runat="server"></form>中。
否则,不需要有。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
action="GetInfo1.aspx" 已经指定 form提交的时候交给GetInfo1.aspx这个页面来做,
这时候你肯定会问,什么时候提交呢?看一下这个标签<input type="submit" value="发送"/> 这个type="submit"就是提交按钮,它是html元素。点击它,就会提交form 而form提交时会交给GetInfo1.aspx 这个页面来做,这时候,肯定会进入GetInfo1.aspx的Page_Load事件了
这时候你肯定会问,什么时候提交呢?看一下这个标签<input type="submit" value="发送"/> 这个type="submit"就是提交按钮,它是html元素。点击它,就会提交form 而form提交时会交给GetInfo1.aspx 这个页面来做,这时候,肯定会进入GetInfo1.aspx的Page_Load事件了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询