模态形式以编辑网格(ASP.NET MVC)



很多天,我一直在尝试在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)和调整大小不起作用。我现在尝试移动启动外部表格的行,但现在行为更糟。

你能告诉我应该如何工作吗?

我能想到的两件事是

  1. 检查URL是否有效,

  2. 呼叫对话框一旦DIV填充

    $("#sform").load(url).dialog("open");

变成

    $("#sform").load(url, function(){
       $("#sform").dialog("open");
    });

如果"完整"提供了回调,已执行后处理和HTML插入后执行。

请注意,这是对问题进行修改之前提出的答案

最新更新