gpt4 book ai didi

javascript - 使用 JavaScript 变量作为路由参数

转载 作者:行者123 更新时间:2023-11-28 17:56:48 25 4
gpt4 key购买 nike

我尝试添加$(this).prev("input").val()在 API 路由的 id 参数中,但我不知道如何停止 C# 部分,我想到了 <text></text>@:但不是这样工作的。

有人有妙招吗? (考虑过写 URL 而不是使用 RouteURL 函数,但我认为这不是一个好的编程方法)

$.ajax({
url: '@Url.RouteUrl("IsTranslated", new { id = <text>$(this).prev("input").val()</text> }, new {market=@ViewBag.market })

// [...]
})

最佳答案

您不能注入(inject)这样的 JavaScript 值(请记住,Razor 代码是在服务器端评估的)。你可以做的是使用你的助手构建一个"template"字符串,并替换 id 值:

var template = '@Url.RouteUrl("IsTranslated", new { id = 0 }, new { market=@ViewBag.market })';

var id = $(this).prev("input").val();

var url = template.replace('id=0', 'id='+id);

$.ajax({
url: url
// [...]
})

当然,这假设查询字符串值是由助手生成的。如果没有,这可能有效:

var template = '@Url.RouteUrl("IsTranslated", new {}, new { market=@ViewBag.market })';

var id = $(this).prev("input").val();

var url = template.replace('IsTranslated', 'IsTranslated?id='+id);

$.ajax({
url: url
// [...]
})

关于javascript - 使用 JavaScript 变量作为路由参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44301881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com