如何使用多个" save"在mvc4 c#中以单一形式的按钮?

时间:2014-01-20 06:00:24

标签: c# asp.net-mvc asp.net-mvc-4

我正在使用c#

在mvc4中完成我的项目

我有一个编辑表单,其中包含多个“保存”按钮。

<form method="post" action="Member/Edit">
<div id="personaldata">
     Classification<input type="text" name="Mem_Occ" value="@Model.Mem_Occ" />
     Birth Day<input type="text" id="datepicker" name="Mem_DOB">
    <input type="submit" name="submit" value="Save" class="btn"/>
</div>
<div id="contactdata">
    Email<input type="text" name="Mem_Email" value="@Model.Mem_Email"/>
    Mobile<input type="text" name="Mem_Mobile" value="@Model.Mem_Mobile" /><
    <input type="submit" name="submit" value="Save" class="btn" />
</div>
</form>

我的控制器是

    [HttpPost]
    public ActionResult Edit(Model md)
    {
        try
        {                
            int edited = new Member().Edit(md.Mem_Occ,md.Mem_DOB,md.Mem_Email,md.Mem_Mobile);
            return RedirectToAction("Index");
        }
        catch
        {
            return View();
        }
    }

实际上我需要的是当我点击特定的保存按钮时,只编辑该部分数据并将其保存在数据库中(所有数据都包含在同一个表中)。怎么可能。请帮帮我。

3 个答案:

答案 0 :(得分:2)

试试这个

<form method="post" action="YOUR ACTION1">
<div id="personaldata">
     Classification<input type="text" name="Mem_Occ" value="@Model.Mem_Occ" />
     Birth Day<input type="text" id="datepicker" name="Mem_DOB">
    <input type="submit" name="submit" value="Save" class="btn"/>
</div>
</form>


<form method="post" action="YOUR ACTION2">
<div id="contactdata">
    Email<input type="text" name="Mem_Email" value="@Model.Mem_Email"/>
    Mobile<input type="text" name="Mem_Mobile" value="@Model.Mem_Mobile" /><
    <input type="submit" name="submit" value="Save" class="btn" />
</div>
</form>

控制器

[HttpPost]
public ActionResult Action1(Model md)
{

}

[HttpPost]
public ActionResult Action2(Model md)
{

}

答案 1 :(得分:0)

使用name和value属性进行过滤。

<input type="submit" name="submit" value="Save" class="btn"/>
<input type="submit" name="submit" value="Submit" class="btn" />


[HttpPost]
public ActionResult Edit(Model md, string submit)
{
    if (submit == "Save")
    {
        // Code for function 1
    }
    else if (submit == "Submit")
    {
        // code for function 2
    }
}

答案 2 :(得分:0)

尝试使用ActionNameSelector和自定义ActionMethodSelector。查看此代码项目文章以启动概念:http://www.codeproject.com/Articles/291433/Custom-Action-Method-Selector-in-MVC

要清除ActionNameSelector和ActionMethodSelector的基本概念,您可以查看以下链接:http://programersnotebook.blogspot.in/2014/02/aspnet-mvc-actionnameselector-and.html 而这:http://programersnotebook.blogspot.in/2014/02/aspnet-mvc-actionnameselector-and_2.html