【发布时间】:2011-01-26 06:05:17
【问题描述】:
我的 asp.net mvc (C#) 应用程序中有一个带有两个提交按钮的表单。当我点击Google Chrome 中的任何提交按钮时,默认情况下提交按钮的值是第一个提交按钮的值。
这里是html:
<input type="submit" value="Send" name="SendEmail" />
<input type="submit" value="Save As Draft" name="SendEmail" />
<input type="button" value="Cancel" />
当我单击Save As Draft 按钮时,在控制器的操作中,它会“发送”作为SendEmail 的值。
下面是动作:
public ActionResult SendEmail(string SendEmail, FormCollection form)
{
if(SendEmail == "Send")
{
//Send Email
}
else
{
//Save as draft
}
return RedirectToAction("SendEmailSuccess");
}
当我从 FormCollection 获取值时,它显示“发送”。即form["SendEmail"] 给出Send
我需要做些什么才能获得点击提交按钮的实际值?
【问题讨论】:
-
您的代码看起来不错,该技术应该可以工作。可能会尝试检查 HTTP POST 以查看究竟是什么被发送回服务器。
-
它只发生在谷歌浏览器中,但在 IE 和 Firefox 中,它运行良好。
-
Chrome 是怎么回事?!
标签: asp.net-mvc formcollection