何日もの間、フレキシグリッドでモーダルダイアログ編集を実装しようとして失敗しました。
私は非常に簡単な例から始めました:
この例を大幅に拡張しましたが、障害にぶつかり、目的の機能を実現する方法がわかりません。
次のjquery関数を実装しました。
関数RunModalDialog(title、url)
{{
$( "#sform")。dialog({
autoOpen:false、
ショー:「ブラインド」、
closeOnEscape:true、
サイズ変更可能:true、
幅:1200、
高さ:750、
minHeight:600、
minWidth:950
});
if(タイトル)
$( "#sform")。dialog( "option"、 "title"、title);
if(url)
$( "#sform")。load(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>
そして、クライアントコントローラーのEditメソッドは、次のようなビューを返します。
@model CardNumbers.Objects.Client
@ {
ViewBag.Title="クライアントの編集";
レイアウト="〜/ Views / Shared / _PopupLayout.cshtml";
}
@ Html.Partial( "_ ClientForm"、モデル)
@sectionスクリプト{
@ Scripts.Render( "〜/ bundles / jqueryval")
}
私はもともと_ClientForm内にBeginFormを持っていて、フォームを見ることができましたが、x(閉じる)とサイズ変更が機能しませんでした。フォームを開始する線を外側に移動しようとしましたが、動作がさらに悪化しました。
これがどのように機能するのか教えていただけますか?