asp.net-mvc-3 – URL.Action在构造URL时包含id
|
我正在使用ASP.Net MVC.这是我的来自名为Course的控制器的代码段: public ActionResult List(int id)
{
var viewmodel.ShowUrl = Url.Action("Show","Course");
...
}
public ActionResult Show(int id)
{
...
}
viewmodel.ShowUrl选择“id”参数的值.所以viewmodel.ShowUrl变成“/ Course / Show / 151”(id的值为151);我希望能够根据用户交互在客户端上设置id部分.我想要viewmodel.ShowUrl的值为“/ Course / Show”. 这似乎是我的错误.我没有告诉Url.Action来包含一个id值.它是自己做的.如果我想设置id值,那么我会做这样的事情: var viewmodel.ShowUrl = Url.Action("Show","Course",new {id = somevalue});
那么,如何防止MVC添加id值呢?我可以将viewmodel.ShowUrl硬编码为“/ Course / Show”,但这似乎是一个kludgy解决方案.谢谢. 解决方法我猜你的路由,你没有指定该id是一个可选参数.以下是示例项目中的默认路由.routes.MapRoute(
"Default",// Route name
"{controller}/{action}/{id}",// URL with parameters
new { controller = "Home",action = "Index",id = UrlParameter.Optional } //Parameter defaults
);
请注意包含id = UrlParameter.Optional.没有这个,你会得到你所描述的行为,因为它认为id是强制性的. 在旁注中,如果您的显示操作并不总是有一个id,那么它应该是空的,或提供一个默认值. public ActionResult Show(int? id) public ActionResult Show(int id = 0) 否则,当您尝试加载没有id参数的url时,您将收到错误. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – Umbraco 7自定义cookie
- asp.net-mvc – MVC Preview 5 – 将视图呈现为字符串以进行
- razor – 如何定义在asp.net核心中返回html的函数
- asp.net-web-api – 在Windows服务中使用OWIN托管WebAPI
- asp.net – Application_End应该在自动App Pool Recycle上启
- ASP.NET MVC授权:角色的权限
- 从asp.net代码后面读表单认证cookie
- asp.net-mvc – Razor如何创建一个CheckBox并使其为READONL
- asp.net-mvc – WebService还是一个简单的MVC控制器?
- ASP.NET MVC 2应用程序中的区域可以映射到子域吗?
- WPF中ComboBox绑定数据库自动读取产生数据
- ASP.NET MVC 4实体框架6 SQL Compact Edition 4.
- asp.net – 使用appcmd添加新网站而不提供网站ID
- asp.net – 如何在客户端上为CustomValidator控件
- asp.net – 无法将HttpHandler映射到“路径/ *”
- asp.net-mvc-3 – 关于Razor中嵌套代码块声明的问
- asp.net – bing地图花钱?
- asp.net-mvc – asp.net mvc – string或int的路
- asp.net-mvc-4 – MVC 4日期文化问题?
- asp.net – SCRIPT5022:Sys.WebForms.PageReque
