将变量作为参数传递给javascript中的Url.Action
本文关键字:javascript 中的 Url Action 参数传递 变量 | 更新日期: 2023-09-27 18:16:17
我正在将参数传递给@Url.Action,如下所示:
function showHistory()
{
myId= $("#id").val();
//alert(myId);
actionDialog.load("@Url.Action("ActionHistoryAjax", new {id = myId, sort = "abc"})", function () {
actionDialog.dialog('open');
});
}
但给出错误"名称myId在当前上下文中不存在"。
如何传递变量?
我解决了这个问题,这就是解决方案:
function showHistory()
{
myId= $("#id").val();
//alert(myId);
actionDialog.load("@Url.Action("ActionHistoryAjax", new {id = "_Id", sort = "abc"})".replace("_Id", DeviceID), function () {
actionDialog.dialog('open');
});
}
我使用以下方法解决了这个问题:
function showHistory()
{
myId= $("#id").val();
actionDialog.load("@Url.Action("ActionHistoryAjax", new {id = "_Id", sort = "abc"})".replace("_Id", DeviceID), function () {
actionDialog.dialog('open');
});
}
您在这里混合了服务器端和客户端代码。不能像那样将Javascript变量传递到Url.Action方法中。
你需要做一些类似的事情:
function showHistory()
{
myId= $("#id").val();
actionDialog.load("@Url.Action("ActionHistoryAjax", new { sort = "abc"})" +
"&id=" + encodeURIComponent(myId), function () {
actionDialog.dialog('open');
});
}
或者从服务器模型加载该ID。
old one
function showHistory()
{
myId= $("#id").val();
//alert(myId);
actionDialog.load("@Url.Action("ActionHistoryAjax", new {id = myId, sort = "abc"})",
function () {
actionDialog.dialog('open');
});
}
新的
function showHistory()
{
myId= $("#id").val();
//alert(myId);
actionDialog.load("@Url.Action("ActionHistoryAjax", new {id = "+ myId +",
sort = "abc"})", function () {
actionDialog.dialog('open');
});
}