vs中的错误,求高手解答
我新建一个登陆页面:login.aspx, 代码如下,
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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 runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server" action="index.aspx">
<div>
<table>
<tr><td>用户名:</td><td>
<asp:TextBox ID="user" runat="server"></asp:TextBox>
</td></tr>
<tr><td>密码:</td><td>
<asp:TextBox ID="ps" runat="server" TextMode="Password"></asp:TextBox>
</td></tr>
<tr><td></td><td>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
x</td></tr>
</table>
</div>
</form>
</body>
</html>
单击提交后:
index.asps.cs的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("你的用户名是"+Request["user"]+",你的密码是"+Request["ps"]);
}
}
之后页面现面bug
“/webobject”应用程序中的服务器错误。
--------------------------------------------
验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:
System.Web.HttpException: 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。
源错误:
只有在调试模式下进行编译时,生成此未处理异常的源代码才会显示出来。若要启用此功能,请执行以下步骤之一,然后请求 URL:
1. 在产生错误的文件的顶部添加一条“Debug=true”指令。例如:
<%@ Page Language="C#" Debug="true" %>
或:
2. 将以下的节添加到应用程序的配置文件中:
<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>
请注意,第二个步骤将使给定应用程序中的所有文件在调试模式下进行编译;第一个步骤仅使该特定文件在调试模式下进行编译。
重要事项: 以调试模式运行应用程序一定会产生内存/性能系统开销。在部署到生产方案之前,应确保应用程序调试已禁用。
这是什么原因咯,帮忙解决下
------解决方案--------------------你的提交方式有问题,你不能把作为服务器控件的Form提交到别的页面,它默认是提交到自身的,如果你非要提交到别的页面就另写一个不是服务器控件的表单,注意两个表单不能嵌套奥,顺便说一句你的程序怪怪的,既不像WebForm也不像Mvc哈哈
------解决方案-------------------- <form id="form1" runat="server" action="index.aspx">
去掉runat="server" 就可以了,而且一个页面可以写多个form和写asp一样了,这种写法太差了,cms可能会用到