グリッドにさまざまな人がリストされている asp.net グリッドを表示するフォームがあります。ユーザーは、ページの asp.net ボタンをクリックして、新しいユーザーをグリッドに追加できます。
<div id="content_button"> <asp:Button ID="btnAddperson" runat="server" CssClass="content_button" PostBackUrl="addperson.aspx" Text="Add Person" ToolTip="addPerson.aspx" /> </div>
このボタンをクリックすると、JQuery ダイアログが開きます。
$(document).ready(function() {
$('#content_button #ctl00_MainContent_btnAddPerson').each(function() {
var $link = $(this);
var $dialog = $('<div></div>')
.load($link.attr('title') + ' #content_dialogBox')
.dialog({
autoOpen: false,
title: $link.attr('value'),
width: 500,
beforeclose: function() { window.location = "ManagePeople.aspx" }
});
$link.click(function() {
$dialog.dialog('open');
return false;
});
});
});
これはすべてうまくいきます。ただし、ダイアログ フォームには検証が必要なフィールドがいくつかあります。最初は、asp.net の必須フィールド検証を使用しました。何らかの理由で、それはうまくいきませんでした。だから、コードビハインドで検証しています。検証は (必要なフィールド コントロールの場合と同様に) 機能しますが、フォームは JQuery ダイアログ内ではなく、独自のウィンドウに表示されます。誰かが私が間違っていることを教えてください。
注: ManagePeople.aspx は、グリッドを含むページです。addperson ボタンをクリックすると、AddPerson.aspx の #content_dialogBox の内容が表示されます。