我可以在asp.net-mvc 3中的@ Ajax.Actionlink中传递一个Javascript变量吗?

我有以下Javascript代码

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)

$("a").attr("href", "/Home/myMethod/" + idJS);

好吧,我会查找它,仅限javascript:

document.getElementById("link").href = "/Home/myMethod/" + idJS;

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...