MVC3中UI控制器中的null值

时间:2014-09-05 21:17:57

标签: c# asp.net-mvc

我有一个href标签,它将值传递给控制器​​。 当控制进入控制器方法时...值为null但是 在UI上,当我将鼠标悬停在href列上时......我可以看到所有值都是查询字符串......

例:  abc.com/notify/2  abc.com/notify/3  abc.com/notify/4

我知道由于控制器中的哪个值为null而忽略了什么

HTML:

<td style="width:70%">
  <a href="/abc/Notify/<%=ist.SeqID %>">Notify! </a>
</td>

控制器代码段

public ActionResult Notify(int? sID)
{

}  

1 个答案:

答案 0 :(得分:2)

假设您只有默认路线:

routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
);

使用方法:

public ActionResult Notify(int? sID)
{

} 

以下网址:

  

/ ABC /通知/ 1

遵循路由方法并指定id = 1。但是,该方法没有名为id的参数,它的sID不匹配,因此它始终为null。

你可以:

url: "{controller}/{action}/{sid}",

public ActionResult Notify(int? ID)
  

这是否意味着 - 如果我定义了多条路线...所有参数的名称应该与默认路线1相匹配? -

我不完全确定这意味着什么。