有关POST的问题

chen_ya_ping 2008-09-09 03:15:25
假设我们有两个页面。Default.aspx和Choice.aspx页面。我在Default.aspx页面中设置了
<form id="form1" ruant="server" action="Choice.aspx" method="post" >


<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" />

</form>

Default.aspx页面中的.cs 文件中我是这样些代码的:
protected void Page_Load(object sender, EventArgs e)
{

if(Request.Form["TextBox1"]!=null)
{
Response.Write(Request.Form["TextBox1"]);
}

}
但是当我把那个action="Choice"的时候,就出现了错误!
请问为什么?

错误的信息是:

验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。


...全文
208 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen_ya_ping 2008-09-10
  • 打赏
  • 举报
回复
在三楼的Server.Transfer("Choice.aspx",true);问题就解决到了。学到了新知识。
chen_ya_ping 2008-09-10
  • 打赏
  • 举报
回复
3楼的方法是Page_load中可以使用,但是如果方在了Button的单击事件中错误依旧。
xiangzaopao 2008-09-09
  • 打赏
  • 举报
回复
3楼说得很清楚了。
honghu3000 2008-09-09
  • 打赏
  • 举报
回复
这个是需要在web.config里设置

参考这个
http://hi.baidu.com/honghu3000/blog/item/605571c431b257ac8326ac2e.html
西安风影 2008-09-09
  • 打赏
  • 举报
回复
建议先搞清楚asp.net机制
<form id="form1" ruant="server" action="Choice.aspx" method="post" >


<asp:TextBox ID="TextBox1" runat="server"> </asp:TextBox>
<input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" />

</form>
=============
设置ruant="server" 以后,就不能设置action到其他页面了,因为默认是提交本页面。

如果去掉ruant="server" 属性,那么form里面的
服务器控件将也不能使用。

所以你可以尝试
Page_Load()
{
Server.Transfer("Choice.aspx");//可以传递form里面的值
Response.Redirect("Choice.aspx");//不可以传递form里面的值,只能传递url参数
}
kaukiyou 2008-09-09
  • 打赏
  • 举报
回复
为什么要去掉.aspx呢?
fancystyle 2008-09-09
  • 打赏
  • 举报
回复
好晕...
看不懂..

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧