Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从脚本调用Html.Actionlink_Javascript_Html_Asp.net Mvc_Devexpress_Devexpress Mvc - Fatal编程技术网

Javascript 从脚本调用Html.Actionlink

Javascript 从脚本调用Html.Actionlink,javascript,html,asp.net-mvc,devexpress,devexpress-mvc,Javascript,Html,Asp.net Mvc,Devexpress,Devexpress Mvc,我试图从脚本中调用action link,但它不起作用, 但是,当我使用window.open时,它正在工作,但由于我的CSS视图,我需要其他属性,如果我可以调用Html.ActionLink的话,我可以在与模板相同的页面上的选项卡中打开它 以下是代码: function OnRowDblClick(s, e) { alert(e.visibleIndex); GridViewCitiesList.GetRowValues(e.visibleIndex, "CityGuid",

我试图从脚本中调用action link,但它不起作用, 但是,当我使用
window.open
时,它正在工作,但由于我的CSS视图,我需要其他属性,如果我可以调用
Html.ActionLink
的话,我可以在与模板相同的页面上的选项卡中打开它

以下是代码:

 function OnRowDblClick(s, e) {
    alert(e.visibleIndex);
    GridViewCitiesList.GetRowValues(e.visibleIndex, "CityGuid", OnGetRowValues);
}

function OnGetRowValues(data) {
    var url = Html.ActionLink("Edit", "CityAction", "City", new { CRUDType: CRUDTypes.Update, ModelGuid: data }, new { class: "btn btn-success", target: "_blank", title: "City Detail" });
    window.location.href = url;
}
错误是:

未捕获引用错误:未定义Html


当前代码有几个问题:

1)
Html.ActionLink
是一个MVC帮助程序,您应该在Html页面中添加
@
前缀,将其设置为Html帮助程序

2)
Html.ActionLink
生成锚定标记(
helper)以创建URL

3)
数据
是客户端变量,不能将其传递给处理服务器端数据的HTML助手。您需要构建查询字符串,以便使用
ModelGuid
参数添加
数据

根据以上说明,更改URL定义如下:

// this is totally wrong
var url = Html.ActionLink("Edit", "CityAction", "City", new { CRUDType: CRUDTypes.Update, ModelGuid: data }, new { class: "btn btn-success", target: "_blank", title: "City Detail" });
对于这一点:

var url = '@Url.Action("CityAction", "City", new { CRUDType = CRUDTypes.Update })&ModelGuid=' + data;
或者您可以尝试将
ModelGuid
参数查询字符串添加到
routevalue
中,并从客户端替换其值:

// this setup should also work
function OnGetRowValues(data) {
    var url = '@Url.Action("CityAction", "City", new { CRUDType = CRUDTypes.Update, ModelGuid = "XXXX" })';
    url = url.replace('XXXX', data);

    window.location.href = url;
}