单击分部视图中的按钮时,将分部视图的详细信息转发到控制器的 HttpPost 方法



每当调用控制器中的HttpGet方法时,它都会生成部分视图。

控制器HttpGet方法

[HttpGet]
public ActionResult AddCredit(Guid creditBalanceId)
{
    var newCredit = new AddCredits()
    {
        CreditBalanceId = creditBalanceId
    };
    return PartialView(newCredit);
}

查看

@model AdminPortal.Areas.Customer.Models.ViewModels.AddCredits

@Html.HiddenFor(m=>m.CreditBalanceId)
<div class="input-small" id="credit">@Html.EditorFor(m=>m.CreditToAdd) </div>
@Html.ActionLink("Add","AddCredit", new {@class="btn"})

每当在部分视图中单击Add按钮时,我都希望将其转发到具有HiddeFor(CreditBalanceId)和CreditToAdd值的控制器的HttpPost方法

[HttpPost]
public ActionResult AddCredit(AddCredits credits)
{
    _businessUnitRepository.AddCredits(credits);
    Information("Credits Successfully added!");
    return RedirectToAction("LicenseDetails");
}

问题

我需要对视图进行哪些更改,以便在单击按钮时,将所有值转发到控制器中的httppost方法?

你试过这个吗?

@using(Html.BeginForm("Add", "AddCredit"))
{
    @Html.HiddenFor(m=>m.CreditBalanceId)
    <div class="input-small" id="credit">@Html.EditorFor(m=>m.CreditToAdd) </div>
    <button type="submit" class="btn">Add Credit</button>
}

使用Html.BeginForm和一种提交类型可以很容易地完成。这个链接是一个很好的MVC4表单示例,它保存到实体框架模型

最新更新