2015-09-18 71 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