很多天,我一直在尝试在flexigrid中实现模态对话框编辑。
我从一个非常简单的示例开始:
http://mvc4beginner.com/sample-code/insert-update-delete/asp-.net-mvc-ajax-ajax-ajax-injax-insert-pate-detate-delete-delete-using-flexigrid.html
我经常扩展了这个示例,但是我碰到了一个路障,但我不知道如何实现所需的功能。
我实现了以下jQuery函数:
功能runmodalialog(标题,URL) { $("#sform")。dialog({ autoopen:false, 显示:"盲", Closeonescape:是的, 可解析:是的, 宽度:1200, 身高:750, Minheight:600, 最小:950 }); 如果(标题) $("#sform")。对话框("选项","标题",title); if(url) $("#sform")。加载(url).dialog(" open"); 别的 $("#sform")。dialog(" open");
我正在从添加按钮(无URL)和"编辑"按钮(带有URL)调用它。
它可以适合添加(尽管我尚未实现实际保存和电网刷新),但是我无法在编辑中使用它。
这是我的主视频代码
@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>
和客户端控制器的编辑方法返回一个视图
@model cardnumbers.objects.client @{ viewbag.title ="编辑客户端"; layout ="〜/views/shared/_popuplayout.cshtml"; } @html.partial(" _ clientform",模型) @section脚本{ @scripts.render("〜/bundles/jqueryval") }
我最初在_clientform内部具有beginform,我可以看到表单,但是x(collect)和调整大小不起作用。我现在尝试移动启动外部表格的行,但现在行为更糟。
你能告诉我应该如何工作吗?
我能想到的两件事是
-
检查URL是否有效,
-
呼叫对话框一旦DIV填充
$("#sform").load(url).dialog("open");
变成
$("#sform").load(url, function(){
$("#sform").dialog("open");
});
如果"完整"提供了回调,已执行后处理和HTML插入后执行。
请注意,这是对问题进行修改之前提出的答案