很多天我一直试图在flexigrid中实现模态对话框编辑失败。
我从一个非常简单的例子开始:
我扩展了这个例子,但是我遇到了障碍,我不知道如何实现所需的功能。
我实现了以下jquery函数:
function RunModalDialog(title, url) { $("#sform").dialog({ autoOpen: false, show: "blind", closeOnEscape: true, resizable: true, width: 1200, height: 750, minHeight: 600, minWidth:950 }); if (title) $("#sform").dialog("option", "title", title); if (url) $("#sform").load(url).dialog("open"); else $("#sform").dialog("open");
我从“添加”按钮(没有网址)和“编辑”按钮(带网址)调用它。
它适用于Add(虽然我还没有实现实际的保存和网格刷新),但是我无法在Edit上运行。
这是我的主视图代码
@model CardNumbers.Objects.Client
@{
ViewBag.Title = "Clients";
}
@section scripts {
<script src="@Url.Content("~/Scripts/Clients.js")" type="text/javascript" ></script>
}
<form id="frmClientsSearch">
<label for="clientNo">Client No: </label>
<input type="number" name="searchClientNo" class="numericOnly" /><br />
<label for="clientName">Client Name: </label>
<input type="text" size="25" value="Please enter the search value" class="SelectOnEntry"
name="searchClientName" />
<input type="button" id="btnClientsSearch" value="Find / Refresh" />
</form>
<div style="padding-left: 150px; padding-top: 50px; padding-bottom: 50px;" id="ClientsResults">
<table id="flexClients" style="display: none">
</table>
</div>
<div id="editor" style ="visibility :hidden ">
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "sform", title = "Client Info" }))
{
@Html.Partial("_ClientForm", Model)
}
</div>
客户端控制器的Edit方法返回一个
视图@model CardNumbers.Objects.Client @{ ViewBag.Title = "Edit Client"; Layout = "~/Views/Shared/_PopupLayout.cshtml"; } @Html.Partial("_ClientForm", Model) @section Scripts { @Scripts.Render("~/bundles/jqueryval") }
我最初在_ClientForm中有BeginForm,我可以看到表单,但x(close)和Resize不起作用。我现在尝试移动启动表单的行,但现在行为更糟。
你能告诉我这是怎么回事吗?
答案 0 :(得分:1)
我能想到的两件事是
填写div后调用对话框
$("#sform").load(url).dialog("open");
变为
$("#sform").load(url, function(){
$("#sform").dialog("open");
});
如果提供了“完整”回调,则会在后处理和HTML插入后执行。
注意这是在修改之前提出的问题的答案