Jquery 在 <a href='@Url.ActionLink()'></a> 内追加参数
Jquery Append Parameter inside <a href='@Url.ActionLink()'></a>
我在 Jquery 函数中有以下代码
$.each(array, function (index, value) {
var id1 = value.match(/\d+/);
$("#linksList").append("<li>" + value + "<a href='@Url.ActionLink("Details", "Jira", new { id ="${id1}" })'>" + value + "</a>" + "</li>");
});
但是我无法传递参数 Id 。我正在为 Id 分配随机值,如下所示。我做错了什么。
<a href="/Jira/Details/%2Bid1%2B"> jira_subtask_link 41102</a>
这是不可能混合的,因为 Razor 存在于服务器端,而 jquery 是客户端
模板引擎将您的 C# 代码先于 运行 注入 HTML/CSS/Js。因此 ASP .NET 无法在准备好编译为客户端源代码时使此类变量变得可理解,因为该变量的生命周期是客户端 side/while 应用程序是 运行ning。它的编译时间与 运行 时间差异
我觉得你可能过得更好
- 将 javascript 变量保存到可以发送回控制器的内容中
- 在控制器级别,将其放入可以传递给视图的模型中
- 使用该 id 作为来自视图模型的变量呈现操作 link,而不是来自 jQuery
我知道这听起来有点奇怪,但这就是服务器端和客户端代码在模板引擎中交互的方式
此外,一个 hacky 方法可能是插入一个“虚拟”id 字符串,然后使用 jQuery 将该虚拟文本替换为您预期的实际 id 值
razor 代码在服务器端编译并在 html 中转换,客户端无法理解 razor 语法,所以如果你想从客户端获得相同的结果,你必须使用 javascipt
这种方式对我有用
$("#linksList").append("<li>" + "" + "<a href='/JIra/Details/" + id + "'>" + value + "</a>" + "</li>");
我在 Jquery 函数中有以下代码
$.each(array, function (index, value) {
var id1 = value.match(/\d+/);
$("#linksList").append("<li>" + value + "<a href='@Url.ActionLink("Details", "Jira", new { id ="${id1}" })'>" + value + "</a>" + "</li>");
});
但是我无法传递参数 Id 。我正在为 Id 分配随机值,如下所示。我做错了什么。
<a href="/Jira/Details/%2Bid1%2B"> jira_subtask_link 41102</a>
这是不可能混合的,因为 Razor 存在于服务器端,而 jquery 是客户端
模板引擎将您的 C# 代码先于 运行 注入 HTML/CSS/Js。因此 ASP .NET 无法在准备好编译为客户端源代码时使此类变量变得可理解,因为该变量的生命周期是客户端 side/while 应用程序是 运行ning。它的编译时间与 运行 时间差异
我觉得你可能过得更好
- 将 javascript 变量保存到可以发送回控制器的内容中
- 在控制器级别,将其放入可以传递给视图的模型中
- 使用该 id 作为来自视图模型的变量呈现操作 link,而不是来自 jQuery
我知道这听起来有点奇怪,但这就是服务器端和客户端代码在模板引擎中交互的方式
此外,一个 hacky 方法可能是插入一个“虚拟”id 字符串,然后使用 jQuery 将该虚拟文本替换为您预期的实际 id 值
razor 代码在服务器端编译并在 html 中转换,客户端无法理解 razor 语法,所以如果你想从客户端获得相同的结果,你必须使用 javascipt
这种方式对我有用
$("#linksList").append("<li>" + "" + "<a href='/JIra/Details/" + id + "'>" + value + "</a>" + "</li>");