【问题标题】:multiple submit form in html beginform mvchtml beginform mvc中的多个提交表单
【发布时间】:2016-08-29 12:19:04
【问题描述】:

尝试制作多个提交表单,但出现错误The current request for action 'EditAccount' on controller type 'AccountController is ambiguous between the following action methods。我怎样才能解决这个问题?这是代码

属性:

public class HttpParamActionAttribute : ActionNameSelectorAttribute
{
    public override bool IsValidName(ControllerContext controllerContext, string actionName, MethodInfo methodInfo)
    {
        if (actionName.Equals(methodInfo.Name, StringComparison.InvariantCultureIgnoreCase))
            return true;

        var request = controllerContext.RequestContext.HttpContext.Request;
        return request[methodInfo.Name] != null;
    }
}

来自控制器的方法:

[HttpPost]
[HttpParamAction]
public virtual async Task<ActionResult> AddNew(AccountModel model)
{ ... }


[HttpPost]
[HttpParamAction]
public virtual async Task<ActionResult> EditAccount(AccountModel model)
{ ... }

然后查看

@using (Html.BeginForm(new {@class = "form-horizontal"}))
{

     <button type="submit" class="btn btn-w-m btn-primary" name="EditAccount">Save</button>

     <button type="submit" class="btn btn-w-m btn-primary" name="AddNew" ><i class="fa fa-plus"></i>&nbsp;Add New</button>

}

【问题讨论】:

标签: asp.net-mvc razor html.beginform


【解决方案1】:

试试这个,它会工作的。基于namevalue 调用该函数。

.cshtml

@using (Html.BeginForm("ActionName",new {@class = "form-horizontal"}))
{

    <button type="submit" class="btn btn-w-m btn-primary" name="Account" value="Edit">Save</button>

    <button type="submit" class="btn btn-w-m btn-primary" name="Account" value="AddNew" ><i class="fa fa-plus" ></i>&nbsp;Add New</button>

}

.cs

[HttpPost]
[HttpParamAction]
public virtual async Task<ActionResult> ActionName(AccountModel model, string Account)
{ 
  if(Account=="Edit"){
   ... 
  }
  else if(Account=="AddNew"){
    ....
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    • 2014-06-22
    • 1970-01-01
    • 2010-09-05
    • 2016-02-10
    • 1970-01-01
    • 2015-03-18
    相关资源
    最近更新 更多