我尝试使用细分www.example.com/Store*/Segment1/Segment2/Segment3*创建一个Html.ActionLink。细分是可选的。
我定义了以下路线:
routes.MapRoute("Store",
"{controller}/{Segment1}/{Segment2}/{Segment3}",
new
{
controller = "Store",
action = "Show",
segment1 = UrlParameter.Optional,
segment2 = UrlParameter.Optional,
segment3 = UrlParameter.Optional
}
);
不应在网址中看到该行动。我似乎无法创建一个有效的链接。
在View i中生成链接如下:
<ul>
@foreach (KeyValuePair<string, string> item in ViewBag.LinkList){<li>@Html.ActionLink(item.Key, "Show", "Store", new { item.Value })</li>}
</ul>
当我在地址栏中输入网址时,一切顺利(Action可以将段读取为参数),但我无法正确获取Html.ActionLink。 任何人都可以举例说明这条路线的ActionLink工作原理吗?谢谢!
答案 0 :(得分:0)
您为segment2
两次定义了默认值,忘记了segment3
因为您没有在ActionLink
调用中定义段变量而导致整个事情中断的事件。