何日もの間、フレキシグリッドでモーダルダイアログ編集を実装しようとして失敗しました。
私は非常に簡単な例から始めました:
この例を大幅に拡張しましたが、障害にぶつかり、目的の機能を実現する方法がわかりません。
次の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(閉じる)とサイズ変更が機能しませんでした。フォームを開始する線を外側に移動しようとしましたが、動作がさらに悪化しました。
これがどのように機能するのか教えていただけますか?