2011-04-12 207 views
0

我有以下的局部视图:关闭jQueryUI的对话框

@using (Ajax.BeginForm("EditUserRole", "Administrator", null, new AjaxOptions{ OnSuccess = "CloseWnd()")) 
{ 
    <input type="submit" class="jqBtn" /> 
} 

我阿贾克斯得到这个并将其插入到这样的对话:

@Ajax.ActionLink(" ", "GetEditUserRoleControl", new { userId = x.UserId }, new AjaxOptions { UpdateTargetId = "WndContent", OnSuccess="OpenWnd('Edit User Roles')" }, new { @class = "ui-icon ui-icon-person BtnIcon" }) 

<div id="WndContent" style="display: none;"> 

</div> 

<script> 
function OpenWnd(title) { 
    var $dialog = $("#WndContent").dialog({ title: title, modal: true }); 
    //get the widget element 
    var $widg = $dialog.dialog('widget'); 
    //find all buttons and apply button: 
    $("input:submit.jqBtn", $widg).button(); 

} 
</script> 

我在提交表单后需要关闭框。但似乎我会在取决于对话框的部分控件中编写代码。我也不想使用内置的jquery按钮,因为我必须从部分表单中删除按钮。任何帮助?

回答

0

那么你可以查看表单的内容,并绑定到提交功能。

$("form", $widg).submit(function(){ 
    /* submit callback */ 
}); 

这会告诉你何时提交表单,但不是当ajax提交状态。

我的建议是使用dialog按钮(因为这是该对话框的设计目的是如何使用)并修改视图以选择性地呈现按钮。您可以通过操作链接传递另一个密钥modalView=true