0

我是 Javascript 新手,希望我的问题不是太明显。

我的视图中有一个按钮:(ASP.NET MVC 4)

<input name="button" type="button" id="button1" value="Click me1"/>

我添加了一个点击处理程序:

<script>
(function ($) {
    map = new Object();
    map['T1'] = 'Placeholder/Index';
... // Truncated 
    map['T11'] = 'Placeholder/Index';

    $('#button1').click(function ()
    {
        // alert('button1 clicked');
        window.location.href = map['T1'];
    });
})(jQuery)
</script>  

我第一次单击按钮时代码工作正常。但是,下次我得到一个错误。我可以在地址栏中看到以下 URL:

http://localhost:64321/Placeholder/Placeholder/Index

为什么要重复?我究竟做错了什么?
(我必须使用 Javascript )

(不是真正的代码,但尽可能简化以显示问题)

在此先感谢
菲利普

4

1 回答 1

1

为什么要重复?我究竟做错了什么?

因为您/在声明网址时忘记了:

map['T1'] = '/Placeholder/Index';
...
map['T11'] = '/Placeholder/Index';

或者更准确地说,您忘记使用 Url 帮助器来生成这些 url,这显然是在 ASP.NET MVC 应用程序中处理 url 的唯一正确方法:

map['T1'] = '@Url.Action("Index", "Placeholder")';
...
map['T11'] = '@Url.Action("Index", "Placeholder")';
于 2013-08-22T15:32:45.003 回答