我正在使用 html.beginform 開發一個學校專案,當我單擊一個按鈕時,我會轉到一個不同的操作,但我需要將視圖中@model 中的值傳遞給操作。我該怎么做去做?
@using (Html.BeginForm("ExportToexcel_Click", "L_AccessPoint", FormMethod.Post))
{
<button type="submit" id="cmdAction" runat="server">
Export To Excel
</button>
}
在該操作中,我將創建一個檔案,為此我需要將視圖中的模型傳遞給操作 ExportToexcel_Click
[HttpPost]
public ActionResult ExportToexcel_Click(dadosPassar dp)
{
var ds = new dadosPassar();
ds = dp;
return RedirectToAction("Index",ds);
}
這就是我的模型,
public class dadosPassar
{
public List<Stored1>? dados2 { get; set; }
public List<L_AccessPoint>? Aps { get; set; } = new List<L_AccessPoint>();
public List<L_Zone>? Zones { get; set; } = new List<L_Zone>();
public List<int>? ap { get; set; }
public DateTime Inicial { get; set; }
public DateTime Final { get; set; }
public string? AcessoVisita { get; set; }
public string? tempo { get; set; }
public string ApZona { get; set; }
}
uj5u.com熱心網友回復:
"I'm using a html.beginform to when I click in a button I go to a diferente Action?"
是的,這很明顯它應該
controller
根據您的代碼重定向到您的。因為<button type="submit" runat="server"> Export To Excel </button>
這樣做不是正確的方法。您應該嘗試以下方式。
Correct Way:
<input type="submit" id="cmdAction" value="Export To Excel"/>
Output:
"But I need to pass the values that I have inside my model aspnet c#"
您似乎在
BeginForm
提交操作中沒有發送任何內容,如下所示。
@using (Html.BeginForm("ExportToexcel_Click", "L_AccessPoint", FormMethod.Post))
{
<input type="submit" d="cmdAction" value="Export To Excel"/>
}
Note:
上面的代碼將向您的ExportToexcel_Click
控制器提交空值,因為您沒有在form post action
.
Demo:
艱難 它不清楚你的計劃是什么。但是,如果您想在這種情況下使用一些預定義的資料加載此頁面,您應該在隱藏模式下初始化
model
然后controller Index action
加載值,如下所示:
Controller Action For Intial View:
public IActionResult Index()
{
var ds = new dadosPassar();
ds.AcessoVisita = "Initial AcessoVisita";
ds.tempo = "Initial Tempo";
ds.ApZona = "Initial Ap Zona";
ds.Final = DateTime.Now;
return View(ds);
}
View:
@model DotNet6MVCWebApp.Models.dadosPassar
@using (Html.BeginForm("ExportToexcel_Click", "L_AccessPoint", FormMethod.Post))
{
<input asp-for="AcessoVisita" hidden class="form-control" />
<input asp-for="tempo" hidden class="form-control" />
<input asp-for="ApZona" hidden class="form-control" />
<input type="submit" d="cmdAction" value="Export To Excel"/>
}
Controller When Submit Button Cliked:
[HttpPost]
public ActionResult ExportToexcel_Click(dadosPassar dp)
{
var ds = new dadosPassar();
ds = dp;
return RedirectToAction("Index", ds);
}
Output:
希望這能解決您當前的問題并指導您將值傳遞給您的控制器POST
方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/467511.html
標籤:C# 网 asp.net-mvc asp.net 核心 asp.net-mvc-4
上一篇:字典對串列中物件的速度進行分類