0

尝试通过从另一个局部视图传递一些参数(或者您可以在编辑模式下说)在剑道窗口中使用 DropDownListFor 和 DateTimePickerFor 控件打开局部视图,但是我正在弹出带有 DropDownListFor 和 DateTimePickerFor 的简单文本框。

我所做的是 在.cshtml

@Html.Kendo().Window().Name("wdwAppt").Title("Reschedule Appointment")

并在 .js 文件中

function RescheduleAppt(id)
{
    debugger
    var RescheduleUrl = $("#RescheduleAppointmentURL").data('request-url');
    $("#wdwAppt").kendoWindow({
        content: {
            url: RescheduleUrl,
            data: { PatAppointmentKey: id }
        }
    });

    $("#wdwAppt").data("kendoWindow").open();
}

该函数是从剑道网格列的RescheduleAppt()onclick 事件调用的。ClientTemplate

4

2 回答 2

0

尝试这个,

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

**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>
于 2013-07-17T05:26:39.697 回答
0

我的视图有 3 个选项卡,例如“tab1”、“tab2”和“tab3”。当我尝试从 tab2 出于某种目的打开窗口(其中包含来自 tab1 的内容)时,我的页面有两个同名的小部件,这就是不显示 dropdowlist 和 datetimepicker 的原因。

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

于 2013-07-26T07:17:56.100 回答