asp.net中form表单无法提交给一般处理程序

一直报找不到"PersonEdit.ashx",运行程序时报"action参数错误",说明action的值根本没有传过去,但是感觉代码又没有什么问题,不知该怎么办,求大侠... 一直报找不到"PersonEdit.ashx",运行程序时报"action参数错误",说明action的值根本没有传过去,但是感觉代码又没有什么问题,不知该怎么办,求大侠指点
html页面
<head>
<title>人员编辑</title>
</head>
<body>
<form action="PersonEdit.ashx" method="post">
<table>
<tr><td>姓名:</td><td><input type="text" name="Name" value="$Data.Name"/></td></tr>
<tr><td>年龄:</td><td><input type="text" name="Age" value="$Data.Age"/></td></tr>
<tr><td>邮箱:</td><td><input type="text" name="Email" value="$Data.Email"/></td></tr>
<tr><td></td><td><input type="submit" value="保存"/></td></tr>
</table>
</form>
<a href = "PersonEdit.ashx?Action=AddNew">新增</a>
</body>
</html>
ashx文件
public class PersonEdit : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";

//PersonEdit.ashx?action=AddNew
//PersonEdit.ashx?action=Edit&Id=3

string action = context.Request["action"];
if (action == "AddNew")
{
//CommonHelper.RenderHtml("PersonEdit.htm", new { Name = "", Age = "20", Email = "@168.com" });
var data = new { Name = "", Age = "20", Email = "@168.com" };
string html = CommonHelper.RenderHtml("PersonEdit.htm", data);
context.Response.Write(html);
}
else if (action == "Edit")
{
}
else
{
context.Response.Write("action参数错误");
}
}

public bool IsReusable
{
get
{
return false;
}
}
}
展开
 我来答
ccppv
2015-03-24 · TA获得超过2994个赞
知道大有可为答主
回答量:5074
采纳率:40%
帮助的人:2973万
展开全部
你的form根本就没有传入Action参数,当然不会执行里面的内容了。

<form action="PersonEdit.ashx?action=AddNew" method="post"> 改成这样。
...
</form>
或者
<form action="PersonEdit.ashx" method="post">
<input type="hidden" name="action" value="AddNew"/>
...
</form>
更多追问追答
追问
首先感谢楼上这位仁兄,关于,我本意是想把PersonEdit.htm这个HTML页面提交给PersonEdit.ashx来处理,但是编译器一直提示找不到该文件,将表单提交给一般处理程序应该不用在后面加上“?action=AddNew”吧
追答
你首先得传入action
才会进入if代码段中去。这样才会处理PersonEdit.htm
关于你说的找不到文件,检查一下你的文件路径是不是正确的。

常见的错误就是你没有用context.Server.Mappath取绝对路径。或者你掉了templates文件夹。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式