我指定了,
@foreach (int ans in Model.UnAnsweredList)
{
<a href="/Dashboard/GoToAnswer?@ans/">@ans</a>
}
,其get方法为,
public ActionResult GoToAnswer(int? number)
即使ans是int类型,该值也不会传递给方法。 请告诉我该怎么做。
答案 0 :(得分:9)
当您使用查询字符串时,您需要指定参数的name
,例如name=value
(因为它是键值字典,因此您不能省略参数的名称)。
您需要更改链接:
@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})
}
答案 1 :(得分:3)
如果您的路由中没有number
,则应将参数命名为:
<a href="/Dashboard/GoToAnswer?number=@ans/">@ans</a>
如果它在您的路由中,您将不会使用查询字符串:
<a href="/Dashboard/GoToAnswer/@ans/">@ans</a>
答案 2 :(得分:0)
您可以使用ActionLink
作为
@Html.ActionLink(@ans, "GoToAnswer","Dashboard", new {number=@ans})
答案 3 :(得分:-1)
尝试使用HTML帮助程序。
@HTML.ActionLink(ans, "GoToAnswer", "ControllerName", new { number = ans })