【发布时间】:2021-09-15 09:20:43
【问题描述】:
在我的项目中,我想从控制器向我的视图传递多个参数(id 和描述)。
这是我项目的结构:
ProductController:
public IActionResult DettaglioDescrizione(int id, string descrizione)
{
ViewData["ProductId"] = id;
ViewData["ProductDescription"] = descrizione;
return View("Details");
}
Details.cshtml查看:
<div class="text-center">
<h1 class="display-4">Prodotti</h1>
<p>Id prodotto: @ViewData["ProductId"]</p>
<p>Descrizione prodotto: @ViewData["ProductDescription"]</p>
</div>
我知道我必须在 Startup.cs 中修改我的模式。如果我以这种方式修改它可以正常工作:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}/{descrizione?}");
});
我的问题是:有没有更好的方法来做到这一点而不为每个参数添加“/”?
【问题讨论】:
-
您可以将查询参数与 [FromQuery] 参数一起使用。使用这种方法,您无需更改路由定义。但更好的是想想你想做什么。为什么要使用参数来填充视图?
-
您想将多个参数传递到控制器的操作方法还是视图中?
-
@Marco 我想从控制器的视图中传递更多参数。
-
@Dawid 我是 asp net core 的新手,这只是一个练习。
-
您似乎在这里问了 2 个问题。一是关于如何在不添加自定义路由的情况下将多个参数传入
DettaglioDescrizione,二是:如何将它们传递给视图。
标签: c# asp.net-core parameters routes