Частичное диалоговое окно jQuery ASP.Net MVC - PullRequest
1 голос
/ 26 января 2011

Возможно, кто-то может помочь мне понять, что происходит. Я использую диалоговое окно jQuery UI () для отображения html-частичек в моем проекте. Когда пользователь нажимает кнопку Добавить новый, он отображает форму добавления клиента. Однако, когда пользователь нажимает на кнопки «Добавить» или «Отмена» в диалоговом окне, я получаю сообщение об ошибке «$ (this) .dialog - это не функция». Если я удаляю событие открытия и отображаю статическую форму в диалоговом окне, кнопки работают нормально.

ClientsController

public ActionResult ajaxCreateClient()
{
    Client c = new Client();
    AddToViewData(c); // adds some additional info about client
    return PartialView("__ClientForm", c);
}

Просмотр: Контакты / Создать

....
<p>
@Html.LabelForField(model => model.Client.Name)  <!-- custom extension that I wrote -->
@Html.TextboxFor(model => model.Client.Name)
<a id="btnAddNew" href="javascript:void()">Add New</a>
</p>
....
<div id="addNew"></div>

JQuery

$(document).ready(function () {
    $("#btnAddNew").click(function () {
        $("#addNew").dialog("open");
    });

    $("#addNew").dialog({
        autoOpen: false,
        title: "Add Client",
        width: 410,
        modal: true,
        resizable: false,
        open: function(event, ui) {
            $(this).load("@Url.Action("ajaxCreateClient", "Clients")");
        },
        buttons:
        {
            "Add": function () {
                // validate() and do something
                $(this).dialog("close");
            },
            "Cancel": function () {
                // do something else
                $(this).dialog("close");
            }
        }
    });
});

Спасибо!

1 Ответ

1 голос
/ 26 января 2011

Попробуй так:

$('#addNew').dialog('close');
...