Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将描述性文本添加到Html.ActionLink()url';s_C#_Asp.net_.net_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# 如何将描述性文本添加到Html.ActionLink()url';s

C# 如何将描述性文本添加到Html.ActionLink()url';s,c#,asp.net,.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,.net,Asp.net Mvc,Asp.net Mvc 4,考虑到mvc中典型的控制器/动作/Id路由,希望添加一个描述性文本 url的类型为 mySite.com/home/page/myarg/the-title-of-the-page-etc. 这与它们的形式相似 stackoverflow.com/questions/928349234/the-text-of-the-question-etc. 而这可以很容易地用 Html.ActionLink(LinkText, "Page", new { id = "myArg" } ) + "

考虑到mvc中典型的控制器/动作/Id路由,希望添加一个描述性文本 url的类型为

 mySite.com/home/page/myarg/the-title-of-the-page-etc.
这与它们的形式相似

 stackoverflow.com/questions/928349234/the-text-of-the-question-etc.
而这可以很容易地用

  Html.ActionLink(LinkText, "Page", new { id = "myArg" } ) + "/" + myUrlText

在推出我自己的操作链接之前,寻找任何现有的扩展,希望能够去掉非字母数字字符等。你真的不想像那样在ActionLink中添加文本。通过路由,您可以实现您想要的。将新路由添加到默认路由上方的Global.asax registerOutes方法中,如下所示:

routes.MapRoute("Page", "home/page/{id}/{title}",
            new { controller = "Home", action = "Page", id = UrlParameter.Optional, title = UrlParameter.Optional });
然后按如下方式设置ActionLink:

@Html.ActionLink("SomeText", "Page", new { controller = "Home", id = b.Key, title = Model.Title})

这很好,但我更喜欢
ActionLink
方法的这个重载:
@Html.ActionLink(item.Name,“Controller”,“Action”,new{title=item.title},null)
。谢谢,你知道有任何帮助方法可以使标题“url友好”,因为它是用户生成的文本,所以不想被尾端捕获!我会编写自己的url友好助手扩展来删除特殊字符并用破折号替换空格。然后只需在title参数上调用它,比如so
@Html.ActionLink(Model.title,“Home”,“Page”,new{id=Model.Key,title=Model.title.FriendlyString()},null)