我在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以查看究竟是什么被发送回服务器。 – DavGarcia 2010-03-11 06:51:50
它只发生在谷歌浏览器中,但在IE和Firefox中,它运行良好。 – Prasad 2010-03-11 06:56:17
Chrome是什么? – Ted 2013-12-04 00:51:30