我通过 FormCollection 将表单值发送到控制器,我还将按钮作为字符串传递,控制器使用它来确定在表单中单击了哪个按钮。
它在开发中一切正常,但在部署时它不起作用。似乎按钮值没有到达控制器或其表单集合。
我已经包含了视图代码:
@using (Html.BeginForm("UpdateExceptionsList", "Exceptions", FormMethod.Post, new { id = "exceptionsForm" }))
{
@*<input type="submit" id="SubmitButton" value="Update Selected" />*@
<button name="button" value="UpdateSelected" id="UpdateSelected" onclick="processUpdate(this)" >Update Selected</button>
<button name="button" value="ExportCsv" onclick="processExportCsv(this)">Export Csv</button>
<button name="button" value="CancelSelected" id="CancelSelected" onclick="processdownload(this)">Cancel Selected </button>
<button name="button" value="RetrySelected" id="RetrySelected" onclick="processretry(this)">Retry Selected </button>
@Html.Hidden("RedirectTo", Url.Action("NoExceptionsExist","Exceptions"))
}
和相应的控制器:
[HttpPost]
public ActionResult UpdateExceptionsList(FormCollection result, string button)
{
bool createCsv = false;
bool cancelSelected = false;
bool retrySelected = false;
if (button == "ExportCsv")
{
createCsv = true;
}
else if(button == "CancelSelected")
{
cancelSelected = true;
}
else if (button == "RetrySelected")
{
retrySelected = true;
}
}
我是否缺少 IIS 中的一些配置,因为它们在 Visual Studio 中都可以正常工作。请帮忙!!!