我正在开展一个学校项目,到目前为止它已经很好了,但问题终于到了。
我的家庭控制器中有这个方法:
[HttpPost]
public ActionResult GetSeatsInShow(int showId)
{
...
return View(realSeatList);
}
在我的视图中,我使用razor将参数解析为控制器,控制器应该将结果返回到这样的地址:
http://localhost:1499/Home/GetSeatsInShow/236
如果我在以下URL上名为Shows的其他控制器方法上执行此操作,那就是它的作用:
http://localhost:1499/Home/Shows/1
但是在GetSeatsInShow方法中,我需要放置?showId = like to snippet:
http://localhost:1499/Home/GetSeatsInShow/?showId=236
我的剃刀ActionLink看起来像这样:
@Html.ActionLink("Vælg", "GetSeatsInShow", new { id = item.Id })
似乎无法找到问题,Show方法可以正常工作,效果与无法工作的结果相同。
答案 0 :(得分:3)
您有几个选择。
您当前正在将参数作为id传递,而不是showId,而您的控制器需要一个名为showId的参数。因此,通过更新您的匿名类型,您可以传递正确的参数名称。
@Html.ActionLink("Vælg", "GetSeatsInShow", new { showId = item.Id })
或者,您只需在查询字符串中传递“id”,并允许默认的MVC绑定在您更新控制器时发挥作用:
@Html.ActionLink("Vælg", "GetSeatsInShow", new { id = item.Id })
[HttpPost]
public ActionResult GetSeatsInShow(int id)
{
...
return View(realSeatList);
}
答案 1 :(得分:1)
你可以试试这个
@Html.ActionLink("Vælg", "GetSeatsInShow", new { id = item.Id, showId = item.Id })
答案 2 :(得分:1)
您正在let newConstraints = NSLayoutConstraint.constraintsWithVisualFormat("|-margin-[button]-margin-|", options: 0, metrics: metrics, views: views)
constraints += newConstraints
和showId
中传递的剃刀中输入GetSeatsInShow
id