0

每当调用控制器中的 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"})

每当在局部视图中单击“添加”按钮时,我希望它使用 HiddenFor( CreditBalanceId ) 和CreditToAdd值转发到我的控制器的HttpPost 方法

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

问题

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

4

2 回答 2

1

你试过这个吗?

@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>
}
于 2013-08-14T11:54:00.083 回答
1

您可以使用 Html.BeginForm 之类的内容和提交类型轻松完成此操作。此链接是保存到实体框架模型的一个很好的示例MVC4 表单

于 2013-08-14T11:55:26.470 回答