我将参数传递给@ 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');
});
}
答案 0 :(得分:8)
我用这个来解决它:
function showHistory()
{
myId= $("#id").val();
actionDialog.load("@Url.Action("ActionHistoryAjax", new {id = "_Id", sort = "abc"})".replace("_Id", DeviceID), function () {
actionDialog.dialog('open');
});
}
答案 1 :(得分:2)
您在此处混合服务器端和客户端代码。你不能像这样将Javascript变量传递给Url.Action方法。
您需要执行以下操作:
function showHistory()
{
myId= $("#id").val();
actionDialog.load("@Url.Action("ActionHistoryAjax", new { sort = "abc"})" +
"&id=" + encodeURIComponent(myId), function () {
actionDialog.dialog('open');
});
}
或者从服务器模型加载该ID。
答案 2 :(得分:-1)
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');
});
}