ASP.NET入门经典第104页的例子为什么不能运行
按照书中所写的代码运行后提示出错说:类型“TextBox”的控件“FullName”必须放在具有 runat=server 的窗体标记内。
可是书中明确说明了不能在form里写runat=server
而且,即使在form里写了runat=server 还是不对,正如书中所说根本就不能跳转到下一页
请问究竟是怎么回事
问题点数:0、回复次数:20Top
1 楼gesnpt(gesnpt)回复于 2004-09-03 10:06:35 得分 0
如果在form里使用了server端的控件就必须在form里写runat=server,否则会报错的Top
2 楼liuvb(LHR)回复于 2004-09-03 10:07:32 得分 0
form 里面必须要写 runat=server
你再检查一下是不是少了一个</form>
Top
3 楼fjafja(fja)回复于 2004-09-03 10:10:04 得分 0
<form>里没少</form>
如果在form里写了runat=server,还是不对阿,根本就跳转不到action所指定的页面
Top
4 楼yingshis(英石)回复于 2004-09-03 10:13:52 得分 0
没这本书,帮你upTop
5 楼jamzh(Show me the money!!!)回复于 2004-09-03 10:23:13 得分 0
<form runat=server>并不是这样写,而是在你的TextBox”的控件“FullName”中写runat=serverTop
6 楼fjafja(fja)回复于 2004-09-03 10:28:30 得分 0
我的TextBox控件“FullName”中写了runat=server
我把源码贴出来吧,请大家帮我看看
<html>
<head>
<title>Holiday page</title>
</head>
<body>
<form action ="holidayresponses.aspx" method = "post">
<h1>Feiertag Holidays</h1>
please enter your details here.
<br/><br/>
Name:<asp:textbox id ="FullName" runat="server"/>
<br/><br/>
Address:<asp:textbox id="Address" rows=5 textmode="multiline" runat="server"/>
<br/><br/>
Sex-
<asp:radiobuttonlist id="sex" runat="server">
<asp:listitem value="Male"/>
<asp:listitem value="Female"/>
</asp:radiobuttonlist>
Please select the destination you would like details on :
<asp:dropdownlist id="Destination" runat="server">
<asp:listitem value = "beijing"/>
<asp:listitem value = "shanghai"/>
<asp:listitem value = "shenzhen"/>
</asp:dropdownlist>
</br></br>
<input type="submit">
<input type="reset">
</form>
</body>
</html>
<script language="c#" runat="server">
void page_load()
{
Response.Write("<b>Name:</b>"+Request.Form["FullName"]+"<br/>");
Response.Write("<b>Address:</b>"+Request.Form["Address"]+"<br/>");
Response.Write("<b>Sex:</b>"+Request.Form["Sex"]+"<br/>");
Response.Write("<b>Destination:</b>"+Request.Form["Destination"]+"<br/>");
}
</script>
<html>
<head>
<title>Holiday page</title>
</head>
<body>
<br/><br/>
These details have been entered into our database,you should receive a confirmation email from us shortly.
<br/><br/>
</body>
</html>
Top
7 楼bitsbird(一瓢 在路上...)回复于 2004-09-03 10:29:48 得分 0
<form action ="holidayresponses.aspx" method = "post" runat="server">
Top
8 楼fjafja(fja)回复于 2004-09-03 10:31:10 得分 0
如果改成这样的话<form action ="holidayresponses.aspx" method = "post" runat="server">,根本就跳转不到holidayresponses.aspx页面Top
9 楼yyf_321(小子)回复于 2004-09-03 10:33:18 得分 0
<form runat="server" method = "post">
在.cs中取得所需的值,再跳转到你要的页面
Response.Redirect("holidayresponses.aspx?你的参数")
Top
10 楼wnlovezxm(大垃圾人)回复于 2004-09-03 10:34:22 得分 0
换本好说看!Top
11 楼fjafja(fja)回复于 2004-09-03 10:35:01 得分 0
在哪里写Response.Redirect("holidayresponses.aspx?你的参数")?
再说,我用的是post方法,怎么能传参数呢?Top
12 楼BillTuan()回复于 2004-09-03 10:37:17 得分 0
form runat="server" method = "post">
在.cs中取得所需的值,再跳转到你要的页面
Response.Redirect("holidayresponses.aspx?你的参数")
==============
asp.net中的form的action在submit时好象不起作用的,用redirect吧!Top
13 楼danlog(龙帝)回复于 2004-09-03 10:39:03 得分 0
<form action ="holidayresponses.aspx" method = "post" runat="server">
缺少runat="server"
因为你用了服务器端控件
<asp:dropdownlist id="Destination" runat="server">
..........
........
......Top
14 楼codeangel(http://www.wSoft.Net)回复于 2004-09-03 10:44:03 得分 0
要不,不要用服务器控件了,与asp一样用<input type="text" name="sss">Top
15 楼fjafja(fja)回复于 2004-09-03 10:44:40 得分 0
BillTuan能不能帮我写一下具体的代码Top
16 楼sonic9900(冬雪)回复于 2004-09-03 10:59:01 得分 0
把这行加进去就可以实现跳转了。Response.Redirect("holidayresponses.aspx?你的参数")
括号内可以不加参数 直接写你要跳转到的网址就行。 不过这段代码要写到事件中触发才行。Top
17 楼fjafja(fja)回复于 2004-09-03 11:02:07 得分 0
好吧,多谢各位,结贴Top
18 楼luckysusan(海闊天空)回复于 2004-09-03 11:12:18 得分 0
<html>
<head>
<title>Holiday page</title>
</head>
<body>
<form action="holidayresponses.aspx" method="post" runat="server">
<h1>Feiertag Holidays</h1>
please enter your details here.
<br>
<br>
Name:<asp:textbox id="FullName" runat="server" />
<br>
<br>
Address:<asp:textbox id="Address" rows="5" textmode="multiline" runat="server" />
<br>
<br>
Sex-
<asp:radiobuttonlist id="sex" runat="server">
<asp:listitem value="Male" />
<asp:listitem value="Female" />
</asp:radiobuttonlist>
Please select the destination you would like details on :
<asp:dropdownlist id="Destination" runat="server">
<asp:listitem value="beijing" />
<asp:listitem value="shanghai" />
<asp:listitem value="shenzhen" />
</asp:dropdownlist><BR>
<BR>
<input type="submit" runat="server" id="btnsubmit" onserverclick ="btnsubmit_onclick" value="提交查询内容">
<input type="reset" value="重置">
</form>
<script language="c#" runat="server">
void page_load()
{
Response.Write("<b>Name:</b>"+Request.Form["FullName"]+"<br/>");
Response.Write("<b>Address:</b>"+Request.Form["Address"]+"<br/>");
Response.Write("<b>Sex:</b>"+Request.Form["Sex"]+"<br/>");
Response.Write("<b>Destination:</b>"+Request.Form["Destination"]+"<br/>");
}
void btnsubmit_onclick(Object Src,EventArgs E)
{
Response.Redirect("holidayresponses.aspx");
}
</script>
</body>
</html>
Top
19 楼ydx(只要你决心成功,失败永远不会把你击垮!)回复于 2004-11-30 08:43:18 得分 0
这本书的这个地方确实有问题。Top
20 楼shoutor(www.mouxiao.com)回复于 2004-11-30 09:27:53 得分 0
<form runat=server>
...
</form>Top




