C# 视图中的不同按钮在mvc中执行不同的操作
我在MVC中遇到了一些问题 内部视图我有两个按钮,一个用于最终提交,另一个用于向视图添加动态内容。同样,这两种方法都用于发布表单。我想知道这些将如何在控制器中使用 示例 如果我单击final submit,它将重定向到某个视图或任何其他操作,并且如果我在同一视图中单击add按钮,我将返回到同一视图 注意:我使用两个按钮发布相同的操作C# 视图中的不同按钮在mvc中执行不同的操作,c#,asp.net-mvc,C#,Asp.net Mvc,我在MVC中遇到了一些问题 内部视图我有两个按钮,一个用于最终提交,另一个用于向视图添加动态内容。同样,这两种方法都用于发布表单。我想知道这些将如何在控制器中使用 示例 如果我单击final submit,它将重定向到某个视图或任何其他操作,并且如果我在同一视图中单击add按钮,我将返回到同一视图 注意:我使用两个按钮发布相同的操作 <input type="submit" name="actionBtn" value="add value" /> <input type="s
<input type="submit" name="actionBtn" value="add value" />
<input type="submit" name="actionBtn" value="finalsubmit" />
如果你想的话,可以用另一种方式(你必须使用名字,但方式不同)
我已经使用了相同的方法,但这不是一个好主意,因为我们使用字符串查找按钮。如果字符串值开发人员之间的任何拼写mastake遇到困难,则很难维护应用程序。探索任何不同的方法拼写问题是另一个问题,要克服这个问题,您可以使用常量或使用资源文件。稍后将值与常量本身进行比较。为什么使用相同的操作?我认为单独行动更好
public ActionResult YourPostAction(string actionBtn)
{
if(actionBtn == "Add Value")
{
}
else if(actionBtn == "finalSubmit")
{
}
}
@using (Html.BeginForm())
{
<input type="hidden" name="actionName" id="hdnAction" />
<input type="submit" value="test" name="actionBtn" onclick="setThis('test')" />
<input type="submit" value="test1" name="actionBtn" onclick="setThis('test1')"/>
}
<script language="javascript">
function setThis(obj) {
document.getElementById('hdnAction').value = obj;
}
</script>
[HttpPost]
public ActionResult Index(string actionName)
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
return View();
}