我可以在asp.net-mvc 3中的@Ajax.Actionlink中传递Javascript变量吗?
我有以下Javascript代码:我可以在asp.net-mvc 3中的@Ajax.Actionlink中传递Javascript变量吗?,javascript,ajax,asp.net-mvc,asp.net-mvc-3,Javascript,Ajax,Asp.net Mvc,Asp.net Mvc 3,我有以下Javascript代码: var idJS; $('.disp').click(function () { idJS = $(this).attr("id"); }) 然后我想这样做: @Ajax.ActionLink("myMethod", "myMethod", "HomeController", new { id = idJS }, new AjaxOptions() { HttpMethod = "Get", UpdateTargetId = "myDi
var idJS;
$('.disp').click(function () {
idJS = $(this).attr("id");
})
然后我想这样做:
@Ajax.ActionLink("myMethod", "myMethod", "HomeController", new { id = idJS },
new AjaxOptions() { HttpMethod = "Get", UpdateTargetId = "myDiv" })
有可能做到这一点吗?这是不可能的,因为Razor视图代码是在加载页面时呈现的,因此所有代码都在javascript执行之前解析(转换为HTML) 但是,您可以使用Javascript来更改链接的属性,例如下面的例子(我担心使用JQuery,如果需要的话,可以查找Javascript等价物) 好的,我将查找它,仅限javascript:
document.getElementById("link").href = "/Home/myMethod/" + idJS;
不,服务器端和客户端是两个完全不同的东西。服务器端甚至在到达客户端之前就已呈现。启动$(document).ready()时,服务器已完成 您可以使用jQuery更改链接的id。如果有更多的信息,我将能够提供更多帮助,但使用jQuery更改属性很简单 我会将id设置为硬编码,比如“ajaxBtn”之类,然后在您的click-even for.disp中,将数据属性更改为您需要的属性。但是,如果没有更多的数据,我无法确切地知道为什么需要设置id
document.getElementById("link").href = "/Home/myMethod/" + idJS;