我可以在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;

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....