我正在使用以下ActionLink方法:
@Html.ActionLink("Manage User Branch", "mngBranchUser", "branchUser", new { @class = "btn btn-default" })
链接到"mngBranchUser"
控制器中的"branchUser"
方法,但它实际上路由到"mngBranchUser"
控制器中的"Home"
方法(全局控制器当然。) URL 为:http://localhost:57852/Home/mngBranchUser?Length=10
。
由给定代码行生成的HTML是:
<a class="btn btn-default" href="/Home/mngBranchUser?Length=10">Manage User Branch</a>
当所需的HTML为:
<a class="btn btn-default" href="/branchUser/mngBranchUser?Length=10">Manage User Branch</a>
另外,如果我改变:
@Html.ActionLink("Manage User Branch", "mngBranchUser", "branchUser", new { @class = "btn btn-default" })
到
@Html.ActionLink("Manage User Branch", "mngBranchUser", "branchUser" })
我成功地获得了正确的输出。但出于格式化原因,我需要new { @class = "btn btn-default"
部分代码。有人可以指导。谢谢。
答案 0 :(得分:3)
你使用ActionLink()
的错误重载,它必须是
@Html.ActionLink("Manage User Branch", "mngBranchUser", "branchUser", null, new { @class = "btn btn-default" })
您的current overload正在添加第3个参数作为路由值(&#34; branchUser&#34;包含10个字符,因此其添加length="10"
因为length
是唯一属性string
答案 1 :(得分:2)
没有重载方法ActionLink(HtmlHelper, String, String, String, Object)
因此不会生成正确的URL。
因此ActionLink Method (HtmlHelper, String, String, Object)
被应用,第三个参数被视为routeValue
routeValues
包含路径参数的对象。通过检查对象的属性,通过反射检索参数。该对象通常使用对象初始化器语法创建。
所以它根据字符串文字branchUser
的属性创建长度,即长度(10)
您可以使用LinkExtensions.ActionLink Method (HtmlHelper, String, String, String, Object, Object)
@Html.ActionLink("Manage User Branch", "mngBranchUser", "branchUser", null, new { @class = "btn btn-default" })
答案 2 :(得分:0)
试试这个:
<a href="@Url.Action("mngBranchUser","branchUser",new{ })" class="btn btn-default" >Manage User Branch</a>