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"})

部分ビューで [追加] ボタンがクリックされるたびに、コントローラーのHttpPost メソッドに HiddenFor( CreditBalanceId ) とCreditToAdd値を使用して転送する必要があります

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

質問

ボタンがクリックされたときに、コントローラーの httppost メソッドにすべての値が転送されるようにするには、ビューにどのような変更を加える必要がありますか?

4

2 に答える 2

1

Html.BeginForm のようなものと送信のタイプを使用すると、非常に簡単に実行できます。このリンクは、エンティティ フレームワーク モデルに保存する MVC4 フォームのかなり良い例です。

于 2013-08-14T11:55:26.470 に答える
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 に答える