我认为我有以下内容:
@using (Ajax.BeginForm("Refresh", "refresh",
new AjaxOptions {
UpdateTargetId = "status",
InsertionMode = InsertionMode.Replace,
OnBegin = "hide",
OnComplete = "show",
}
))
{
<input type="submit" name="refresh" value="transfer1"/><br />
<input type="submit" name="refresh" value="transfer2"/><br />
<input type="submit" name="refresh" value="transfer3"/><br />
}
我希望能够在我的控制器中触发一些代码并将所有内容保存在ONE方法中。在这个方法中,我想检查传递的值,并根据哪个值做一些事情。
这很重要,因为我实际上有很多行输入按钮。我不确定如何在一种方法中做到这一点。任何建议/意见将不胜感激。
答案 0 :(得分:0)
为了获得控制器操作中按钮的值,您可以执行以下操作:
public ActionResult Refresh(string refresh)
{
if (refresh == "transfer1")
{
// Button 1 was clicked ...
}
else if (refresh == "transfer2")
{
// Button 2 was clicked ...
}
else if (refresh == "transfer3")
{
// Button 3 was clicked ...
}
...
}
另一种可能性是,如果您不想依赖于测试按钮的值,实际为这些按钮提供不同的名称:
<input type="submit" name="refresh1" value="transfer1"/><br />
<input type="submit" name="refresh2" value="transfer2"/><br />
<input type="submit" name="refresh3" value="transfer3"/><br />
然后:
public ActionResult Refresh()
{
if (!string.IsNullOrEmpty(Request["refresh1"]))
{
// Button 1 was clicked ...
}
else if (!string.IsNullOrEmpty(Request["refresh2"]))
{
// Button 2 was clicked ...
}
else if (!string.IsNullOrEmpty(Request["refresh3"]))
{
// Button 3 was clicked ...
}
...
}