MVC我的网址正在创建"?长度= 4"

时间:2013-09-11 06:54:26

标签: c# asp.net-mvc asp.net-mvc-routing

我正在创建一个MVC4应用程序。 我有一个小问题。 我的代码是

<li id="tabHeader_2">@Html.ActionLink("Contract", "Contract", "Home", new { id = "lnk_contract" })</li>

我得到了网址 http://localhost:2355/Home/Contract?Length=4

我希望我的网址为 http://localhost:2355/Home/Contract

我的说法是

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

如果你有答案,请帮助我......

2 个答案:

答案 0 :(得分:13)

您混淆了参数。您必须将匿名对象作为htmlAttributes参数发送。

@Html.ActionLink("Contract", "Contract", "Home", null ,new { id = "lnk_contract" })

以下是此重载的MSDN页面:

http://msdn.microsoft.com/en-us/library/dd504972(v=vs.108).aspx

答案 1 :(得分:1)

您需要添加参数

, new {}

Html.ActionLink

第一个对象是查询字符串,第二个是HTML参数。