如何在 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 类型,该值也不会传递给方法。请告诉我我该怎么办。

如何在 C# 中将值作为 url 传递

使用查询字符串时,需要像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 })