2015-09-18 55 views
0

我在我的MVC应用程序中使用Kendo Grid。网格有一个命令列其中包含一个自定义按钮详情调用发送一个Ajax请求到服务器,以获得一个局部视图替换#AjaxDiv innerHtml象下面这样的JavaScript函数:Ajax.ActionLink()渲染部分视图脚本但JavaScript代码不是

function BrandDetailView(e) { 
    var dataItem = this.dataItem($(e.target).closest("tr")); 
    var brandID = dataItem.PKBrand; 

    var xmlhttp; 
    xmlhttp = new XMLHttpRequest(); 
    xmlhttp.onreadystatechange = function() { 

     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.getElementById("AjaxDiv").innerHTML = xmlhttp.responseText; 
     } 
    } 
    xmlhttp.open("GET", "/Brand/Details/" + brandID, true); 
    xmlhttp.send() 
} 

的局部详细视图包含剑道在其包含div的内部生成脚本的DropDownList。如果我发送请求到服务器像上面这些脚本不会工作,但如果我创建一个Ajax.ActionLink()像下面,他们将工作。

@Ajax.ActionLink("Detail", "Details", new { id = 2 }, new AjaxOptions() 
{ 
    UpdateTargetId="AjaxDiv", 
    HttpMethod="GET", 
    InsertionMode=InsertionMode.Replace 
}) 

我被卡在网格上的细节按钮,任何解决方案如何呈现脚本的方式?

+0

你有脚本的局部视图? –

+0

@MattBodily不,在部分视图中没有脚本,kendo dropdownlist会为其包含的div添加一些脚本。 – Gp17

+0

你有没有点燃的按钮点击事件? –

回答

1

如果有在您通过的innerHTML添加到您的网页内容的脚本,它是不会执行的,一个可能的解决方案是获得这些脚本标记,并通过JavaScript再次将它们添加到您的网页,让他们执行此时间。

请参考:https://stackoverflow.com/a/20584396/1821461