2014-04-17 44 views
0

我有一個KendoGrid /細節設置,我正在努力工作。網格中的按鈕打開一個彈出窗口,在該窗口進行編輯並保存。該窗口正在打開,模板正在獲取數據,但我連接到[Update]鏈接的「click」事件不起作用。回顧一下interwebs,我發現彈出窗口(JQuery)沒有在窗體中打開時出現問題,但我不知道如何將「form.append」附加到窗體上,因爲它是一個KendoWindow(我是兩者都是新的)。爲什麼我的JQuery(Kendo)彈出式窗口不能更新窗體控件?

<!--Update Link code (in the KendoTemplate)--> 
<div><A href="#" ID="lnkUpdate_0858">Update</A></div> 

/*Popup code*/ 
function showDetails(e) { 
    e.preventDefault(); 

    var dataItem = this.dataItem($(e.currentTarget).closest("tr")); 
    wnd.content(detailsTemplate(dataItem)); 

    wnd.center().open(); 
} 

/*Code to wire up the onClick event to the "update" link*/ 
function lnkUpdate_0858_OnClick() { 
    return $("#lnkUpdate_0858").click(function() { 
     alert("lnkUpdate_0858_OnClick"); 
    }); 
} 

要添加一點背景,我正在研究這個問題。看看Telerik的網站上的KG頁面 [http://docs.telerik.com/kendo-ui/getting-started/web/window/overview],我可以看到我應該可以添加自定義點擊[.data(「kendoWindow」)]。我看了這段代碼。雖然它可以用於演示,但它爲我的頁面提供了而不是。我認爲它在我的頁面上失敗了,因爲我正在使用模板,並且鏈接的ID不是「.wrapper.find」方法可以找到的。 此外,該頁面建議利用「.appendto」將其附加到(kendoWindow)當前窗體上,我也這樣做了。

I am能夠連接到鏈接點擊,並使用以下代碼從彈出窗口的表單字段中檢索值。

function ClickButton(ButtonID) { 
    var x = $("[id$='tbAlertID']").val; 
    $("[id$='" + ButtonID + "']").click(); 
} 

function PopulateASPDotNetForm() { 
    $("[id$='tbAlertID']").val(tbAlertID); 
     ClickButton("btnUpdateAlert2"); 
    alert("PopulateASPDotNetForm" + tbAlertID); 
} 

function LoadDataFromPopupForm(PopupForm) { 
    tbAlertID = PopupForm.find('.tbAlertID').val(); 
} 

$(document).on('mousedown', ".LinkButton", function() { 
    PopupForm = $(this).parent().parent(); 
    LoadDataFromPopupForm(PopupForm); 
    PopulateASPDotNetForm(); 
    return; 
}); 

我遇到了從JQuery中點擊ASP.net按鈕的問題。點擊事件觸發,我可以在Visual Studio調試器中捕獲它。當我這樣做時,在JQuery彈出窗口中更改的字段的值對ASP.net不可見,但可以看到JQuery彈出窗口的外部外部的值更改爲

回答

0

它不會更新,因爲我沒有做對。 KendoGrid控件具有附加命令的功能,如「編輯」,「更新」和「銷燬」。使用這些,可以附加託管按鈕,將自動更新用戶在網格中看到的內容。您仍然必須將方法附加到保存事件以在數據庫中進行更新,但這比我想要做的要容易得多。

相關問題