0

我有一个 KendoGrid/details 设置,我正在尝试开始工作。网格中的一个按钮会打开一个弹出窗口,在该窗口中进行编辑并保存。窗口正在打开,模板正在获取数据,但我连接到 [更新] 链接的“单击”事件不起作用。在互联网上环顾四周,我发现弹出窗口(JQuery)没有在表单中打开存在问题,但我不知道如何将“form.append”附加到它,因为它是一个 KendoWindow(我是两者都是新手)。

<!--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 网站 [ http://docs.telerik.com/kendo-ui/getting-started/web/window/overview]上的 KG 页面,我可以看到我应该能够向 [ .data("kendoWindow")]。我看过这段代码。虽然它适用于演示,但不适用于我的页面。我认为它在我的页面上失败了,因为我使用的是模板,并且链接的 ID 不是“.wrapper.find”方法可以找到的。此外,该页面建议使用“.appendto”将其(kendoWindow)附加到当前表单,我也这样做了。

我能够连接到链接单击,并使用以下代码从弹出窗口的表单字段中检索值

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 弹出窗口之外更改的字段值是可见的。

4

1 回答 1

0

它不会更新,因为我做得不对。KendoGrid 控件具有附加命令的能力,例如“编辑”、“更新”和“销毁”。使用这些,可以附加托管按钮,这些按钮将自动更新用户在网格中看到的内容。您仍然必须将方法附加到保存事件以在数据库中更新它,但这比我尝试做的要容易得多。

于 2014-04-22T01:28:29.563 回答