【发布时间】:2011-06-16 00:39:19
【问题描述】:
也许有人可以帮助我了解发生了什么。我正在使用 jQuery UI dialog() 在我的项目中显示 html 部分。当用户单击 Add New 时,它会显示添加客户端表单。但是,当用户单击对话框中的“添加”或“取消”按钮时,我收到错误消息,“$(this).dialog is not a function”。如果我删除打开事件并在对话框中显示静态表单,则按钮可以正常工作。
客户端控制器
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");
}
}
});
});
谢谢!
【问题讨论】:
标签: asp.net asp.net-mvc asp.net-mvc-3 jquery-ui-dialog