2013-05-02 162 views
0

我想将用户重定向到javascript函数中的url。如何在ASP.NET MVC WebForms视图引擎中使用url.action中的javascript变量

editClick: function() { 
      var myid = 1; 
      location.href = '<%= Url.Action("ActionName", "ControllerName", new { id = myid})%>'; 

     }; 

但是'myId'在当前上下文中不存在。如何在Url.Action中使用js变量?

+0

那没有意义。您不能混用服务器端和客户端代码。 – SLaks 2013-05-02 15:32:37

+0

我想我不应该使用url.action并使用显式的url路径。 – duyn9uyen 2013-05-02 15:42:54

回答

1

,我已经采取了在过去的一个方法是产生像这样在视图中的链接:

<div class='clickmaster'> 
    <div class='clicker' id='@Url.Action("ActionName", "ControllerName", new { id = Model.Id })'> 
    Show Something Here 
    </div> 
    <div class='clicker' id='@Url.Action("ActionName", "ControllerName", new { id = Model.Id })'> 
    Show Something Here 
    </div> 
</div> 

然后在JavaScript我这样定义一个函数:

$(function() { 
    $('.clickmaster').on('click', '.clicker' , function() { location.href = this.id; }) 
}); 
+0

我真的很喜欢这种方法。谢谢! – duyn9uyen 2013-05-02 19:17:17

+0

不客气。在SO上展示欣赏的最好方式就是接受答案并在可以的时候投票。 – 2013-05-02 19:21:42

+1

@ duyn9uyen:更好的方法是使用'data- *'属性。 (尤其是因为ID必须是唯一的) – SLaks 2013-05-02 20:15:58

相关问题