我有一个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)
{
}
答案 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相匹配? -
我不完全确定这意味着什么。