0

我有以下标记:

<a href="controllerName/ActionMethodName?Pid=@Model.Collection[i].Pid">Know more</a>

我使用以下javascript将用户重定向到此页面:

<input type="button" id="btnGoTo" value="ButtonCaption" onclick="window.location.href = '../Product/Index';" />

问题是当用户被重定向时,重定向发生在:

控制器名称/控制器名称/操作方法名称...

4

2 回答 2

0

您不应该为此使用任何 javascript。您将自动重定向到指定的 URL href。如果您正在使用RAZOR View Enginethen ,您的电话应该是这样的:

@Html.ActionLink(
    "some text", 
    "MyAction", 
    "MyController", 
    new { myParams = "Hello" }, 
    null
)

这将生成正确的锚标记:

 <a href="/MyController/MyAction?myParams=Hello">some text</a>

您可以使用其中任何一个。在您的情况下,您可以通过/在控制器名称之前放置来跳过使用 Javascript。

于 2013-01-19T17:49:30.447 回答
0

您应该使用以下路线:

onclick="window.location.href = '@(Url.Action("Index","Product")'"

不要在 MVC 中对 URL 进行硬编码,始终使用 URL 助手。

于 2013-01-19T17:23:10.737 回答