[英]How to pass down value from view to controller?
所以我有這個視圖,我試圖將隱藏字段中的發票 object 傳遞給 controller,然后使用提交按鈕提交。
@model IEnumerable<Invoice>;
@using (Html.BeginForm("ShowModal", "Email", FormMethod.Post))
{
<div class="container">
<div class="row">
@foreach (var invoice in Model)
{
<div class="col-12 bg-light d-flex justify-content-center align-items-center m-lg-2 mb-lg-5">
<div class="m-lg-2">Číslo faktury : @invoice.InvoiceNumber</div>
<div class="m-lg-2">Variabilní symbol : @invoice.VariableSymbol</div>
<div class="m-lg-2">Datum vytvoření : @invoice.DateCreated</div>
@Html.ActionLink("Stáhnout","Download",invoice,new { @class = "m-lg-2 btn btn-primary"})
@Html.TextBoxFor(_=>invoice, new {@type="hidden", @Value=invoice})
<input type="submit" value="Odeslat" class="m-lg-2 btn btn-secondary showmodal" />
@Html.ActionLink("Upravit","Edit",invoice,new { @class = "m-lg-2 btn btn-warning"})
@Html.ActionLink("Vymazat","Remove",invoice,new { @class = "m-lg-2 btn btn-danger"})
</div>
}
</div>
</div>
}
但是在 controller 由於某種原因我沒有收到發票 object。 我發送的方式有誤嗎?
public IActionResult ShowModal(Invoice invoice)
{
//string number = invoice.InvoiceNumber;
return PartialView("_EmailPopup");
}
一個頁面上有多個 BeginForm 是可以的。 因此,將 BeginForm 移到 foreach 循環內,並向 BeginForm 添加一個額外參數。
您的 Controller 應具有名稱 EmailController。
@model IEnumerable<Invoice>;
<div class="container">
<div class="row">
@foreach (var invoice in Model)
{
@using (Html.BeginForm("ShowModal", "Email", new {invoice = invoice}, FormMethod.Post))
{
<div class="col-12 bg-light d-flex justify-content-center align-items-center m-lg-2 mb-lg-5">
<div class="m-lg-2">Číslo faktury : @invoice.InvoiceNumber</div>
<div class="m-lg-2">Variabilní symbol : @invoice.VariableSymbol</div>
<div class="m-lg-2">Datum vytvoření : @invoice.DateCreated</div>
@Html.ActionLink("Stáhnout","Download",invoice,new { @class = "m-lg-2 btn btn-primary"})
@Html.TextBoxFor(_=>invoice, new {@type="hidden", @Value=invoice})
<input type="submit" value="Odeslat" class="m-lg-2 btn btn-secondary showmodal" />
@Html.ActionLink("Upravit","Edit",invoice,new { @class = "m-lg-2 btn btn-warning"})
@Html.ActionLink("Vymazat","Remove",invoice,new { @class = "m-lg-2 btn btn-danger"})
}
}
</div>
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.