如何在 C# 中将值作为 url 传递
本文关键字:url 传递 | 更新日期: 2023-09-27 18:34:25
>我指定了这样的,
@foreach (int ans in Model.UnAnsweredList)
{
<a href="/Dashboard/GoToAnswer?@ans/">@ans</a>
}
它的获取方法给出为,
public ActionResult GoToAnswer(int? number)
即使 ans 是 int 类型,该值也不会传递给方法。请告诉我我该怎么办。
使用查询字符串时,需要像name=value
一样指定参数的name
(因为它是键值字典,因此不能省略参数的名称)。
您需要更改链接到以下内容:
@foreach (int ans in Model.UnAnsweredList)
{
<a href="/Dashboard/GoToAnswer?number=@ans">@ans</a>
}
但实际上,您最好使用 Html.ActionLink
方法,因为将应用您的自定义路由:
@foreach (int ans in Model.UnAnsweredList)
{
@Html.ActionLink(ans, "GotToAnswer", "DashBoard", new {number=ans})
}
如果路由中没有number
,则应命名参数:
<a href="/Dashboard/GoToAnswer?number=@ans/">@ans</a>
如果它在您的路由中,则不会使用查询字符串:
<a href="/Dashboard/GoToAnswer/@ans/">@ans</a>
尝试使用 HTML 帮助程序。
@HTML.ActionLink(ans, "GoToAnswer", "ControllerName", new { number = ans })