Asp.net mvc 4 如何在kendoUI 2013年第3季度使用mvc4 razor在剑道窗口中使用某些参数(或在编辑模式下)打开局部视图

Asp.net mvc 4 如何在kendoUI 2013年第3季度使用mvc4 razor在剑道窗口中使用某些参数(或在编辑模式下)打开局部视图,asp.net-mvc-4,Asp.net Mvc 4,试图在剑道窗口中通过传递一些参数来打开带有DropDownListFor和DateTimePickerFor控件的部分视图,或者您可以从另一个部分视图中说是在编辑模式下,但我得到的只是DropDownListFor和DateTimePickerFor的文本框弹出 我所做的是 in.cshtml 在.js文件中 函数RescheduleAppt正在从kendo grid的ClientTemplate列的onclick事件调用。试试这个 在这个代码中,父页面有一个剑道网格。在网格显示中,单击此按钮的

试图在剑道窗口中通过传递一些参数来打开带有DropDownListFor和DateTimePickerFor控件的部分视图,或者您可以从另一个部分视图中说是在编辑模式下,但我得到的只是DropDownListFor和DateTimePickerFor的文本框弹出

我所做的是 in.cshtml

在.js文件中

函数RescheduleAppt正在从kendo grid的ClientTemplate列的onclick事件调用。

试试这个

在这个代码中,父页面有一个剑道网格。在网格显示中,单击此按钮的编辑按钮打开带有控件的弹出窗口

**This is my button in grid(on click of this button):-**

    <a href='javascript: void(0)' onclick='EditItem(this)' name='#=SurveySectionID#' class='k-button k-button-icontext k-grid-edit'><span class='k-icon k-iconSetImagePosition k-edit'></span>Edit</a>

**JS Function:-**

    function EditItem(obj) {
            var SurveySectionID = obj.name;
            OpenKendoWindow({ WindowName: 'windowSection', Url: '@CommonHelper.BaseUrl' + 'Admin/Content/AddEditSection', Data: { SurveySectionID: SurveySectionID, SurveyID: '@Model.SurveyID'} });
        }

    **This is common function for open kendo window.**

    function OpenKendoWindow(para) {

        if (para != null) {
            var dialog = $("#" + para.WindowName).data("kendoWindow")
            dialog.refresh({
                url: para.Url,
                data: para.Data
            });

            dialog.open();

            CenterWindow(dialog);

            return dialog;
        }
    }

    **Below is popup chtml page which is opened by button click event.**

    <div class="float_l">                   
                        @Html.TextBoxFor(m => m.serviceTypeName, new { id = "txtserviceTypeName", @class = "k-textbox", @maxlength = 48, uifocus = "focus" })
                        <br />
                        @Html.ValidationMessageFor(m => m.serviceTypeName)
                    </div>

    <div class="margin_t10 clearfix">
                    <div class="float_l margin_l20 cols165">
                        @Html.LabelFor(m => m.LOBId)<span class="color_red">*</span>
                    </div>
                    <div class="float_l ">
                        @(Html.Kendo().ComboBoxFor(model => model.LOBId)
                              .Name("LOBId")
                              .Placeholder("--Select--")
                              .DataTextField("Text")
                              .DataValueField("Value")
                              .BindTo(Model.LOBList)
                              .Events(e => e.Change("ValueChangedOncombo"))
                            )
                        <br />
                        @Html.ValidationMessageFor(m => m.LOBId)
                    </div>
                </div>

我的视图有三个选项卡,分别是“tab1”、“tab2”和“tab3”。 当我试图打开包含tab1和tab2内容的窗口时,我的页面有两个同名的小部件,这就是为什么不显示dropdowlist和datetimepicker的原因

在以下情况下,内容中的小部件可能无法正确初始化: 1页面上已有与此场景中的属性名称具有相同ID的元素。在这种情况下,初始化脚本将找到它们,内容中的输入将不会初始化。 2在内容中的小部件之后定义了一个事件处理程序。document ready事件不适用于动态添加的内容,因此在执行初始化脚本时,还不会定义事件处理程序。
3抛出的JavaScript错误阻止了脚本的执行。

感谢您的响应!不工作。出现了相同的问题。我正在使用级联下拉列表。级联下拉列表的原因是什么?不,您在弹出视图中也使用了级联下拉列表。嗨,小朋友!要实现这一点,您必须仅使用具有不同ID的元素。
function RescheduleAppt(id)
{
    debugger
    var RescheduleUrl = $("#RescheduleAppointmentURL").data('request-url');
    $("#wdwAppt").kendoWindow({
        content: {
            url: RescheduleUrl,
            data: { PatAppointmentKey: id }
        }
    });

    $("#wdwAppt").data("kendoWindow").open();
}
**This is my button in grid(on click of this button):-**

    <a href='javascript: void(0)' onclick='EditItem(this)' name='#=SurveySectionID#' class='k-button k-button-icontext k-grid-edit'><span class='k-icon k-iconSetImagePosition k-edit'></span>Edit</a>

**JS Function:-**

    function EditItem(obj) {
            var SurveySectionID = obj.name;
            OpenKendoWindow({ WindowName: 'windowSection', Url: '@CommonHelper.BaseUrl' + 'Admin/Content/AddEditSection', Data: { SurveySectionID: SurveySectionID, SurveyID: '@Model.SurveyID'} });
        }

    **This is common function for open kendo window.**

    function OpenKendoWindow(para) {

        if (para != null) {
            var dialog = $("#" + para.WindowName).data("kendoWindow")
            dialog.refresh({
                url: para.Url,
                data: para.Data
            });

            dialog.open();

            CenterWindow(dialog);

            return dialog;
        }
    }

    **Below is popup chtml page which is opened by button click event.**

    <div class="float_l">                   
                        @Html.TextBoxFor(m => m.serviceTypeName, new { id = "txtserviceTypeName", @class = "k-textbox", @maxlength = 48, uifocus = "focus" })
                        <br />
                        @Html.ValidationMessageFor(m => m.serviceTypeName)
                    </div>

    <div class="margin_t10 clearfix">
                    <div class="float_l margin_l20 cols165">
                        @Html.LabelFor(m => m.LOBId)<span class="color_red">*</span>
                    </div>
                    <div class="float_l ">
                        @(Html.Kendo().ComboBoxFor(model => model.LOBId)
                              .Name("LOBId")
                              .Placeholder("--Select--")
                              .DataTextField("Text")
                              .DataValueField("Value")
                              .BindTo(Model.LOBList)
                              .Events(e => e.Change("ValueChangedOncombo"))
                            )
                        <br />
                        @Html.ValidationMessageFor(m => m.LOBId)
                    </div>
                </div>