cod*_*tte 44 asp.net-mvc actionlink
我在视图中有以下ActionLink
<%= Html.ActionLink("LinkText", "Action", "Controller"); %>
Run Code Online (Sandbox Code Playgroud)
并创建以下URL http://mywebsite.com/Controller/Action
假设我在最后添加一个ID,如下所示:http://mywebsite.com/Controller/Action/53并导航到该页面.在这个页面上,我有上面指定的标记.现在,当我查看它创建的URL时,它看起来像这样:
http://mywebsite.com/Controller/Action/53(注意添加ID)
但我希望它删除ID并看起来像它原来的那样,如http://mywebsite.com/Controller/Action(此处没有注释ID)
我有什么想法可以解决这个问题?我不想使用硬编码的URL,因为我的控制器/操作可能会改变.
cod*_*tte 45
解决方案是指定我自己的路由值(下面的第三个参数)
<%= Html.ActionLink("LinkText", "Action", "Controller",
new { id=string.Empty }, null) %>
Run Code Online (Sandbox Code Playgroud)
Bri*_*hon 13
听起来你需要注册第二个"Action Only"路由并使用Html.RouteLink().首先在应用程序启动时注册这样的路由:
routes.MapRoute("ActionOnly", "{controller}/{action}",
new { controller = "Home", action = "Index" } );
Run Code Online (Sandbox Code Playgroud)
然后使用以下代替ActionLink来创建这些链接:
Html.RouteLink("About","ActionOnly")
Run Code Online (Sandbox Code Playgroud)
Gar*_*ler 10
问题是内置方法从您当前使用的URL以及您提供的内容中获取输入.你可以试试这个:
<%= Html.ActionLink("LinkText", "Action", "Controller", new { id = ""}) %>
Run Code Online (Sandbox Code Playgroud)
那应该手动擦除id参数.
归档时间: |
|
查看次数: |
34991 次 |
最近记录: |