使用jquery处理MVC4对话框

时间:2014-02-10 13:58:32

标签: jquery asp.net-mvc-4 modal-dialog

我正在使用MVC4开发应用程序, 在这里,我想在对话框中加载局部视图(包含填充的下拉列表),并希望将所选值发送给控制器。

我尝试了下面的代码,但它给了我错误“0x800a01b6 - Microsoft JScript运行时错误:对象不支持此属性或方法”。 我没有在输出中获得对话框。

包含下拉菜单的部分视图

@model InterviewAssistant.Models.CommonWrapper



@if (Model.tech != null && Model.tech.Count() > 0)
{
    <div id="dialog-confirm" title="Select Technology">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>Select the technology</p>
@Html.HiddenFor(m => m.SelectedTrackId)
     @Html.DropDownListFor(
            m => m.SelectedTechId,
            new SelectList(Model.tech, "TechId", "TechName"),
            string.Empty
            )
        </div>
}

JQUERY:

$(document).ready(function () {


            $("#fresh").click(function () {

                InitializeDialog($("#my-dialog"));


                $("#my-dialog").dialog("open");
            });



            //Method to Initialize the DialogBox
            function InitializeDialog($element) {

                //alert("Hi");

                $element.dialog({
                    autoOpen: false,
                    modal: true,
                    open: function (event, ui) {

                        $(this).load("/Home/SelectTrack");
                    },

                    close: function () {
                        $(this).dialog('close');
                    }

                });

            }
        });

控制器代码:

[HttpPost]
        public ActionResult SelectTrack(int? selectedTrackId)
        {
            CommonWrapper wrapper = new CommonWrapper();
            wrapper.tech = new List<TechModel>();

            if (selectedTrackId.HasValue)
            {
                wrapper.tech = (from s in CommonWrapper.GetTechnology()
                                where s.TrackId == selectedTrackId
                                orderby s.TechName
                                select s).ToList();
            }


            return PartialView("TechnologyDialog",wrapper);

        }

在$ element.dialog stmt上获取错误。 任何人都可以帮助我。

提前致谢

0 个答案:

没有答案