チェンジセット 1671 (default)


以下の違いを無視:
日時:
2024/08/29 14:53:40 (5週前)
更新者:
hizuya@…
ログメッセージ:
  • Confirm.Show で確認を表示したとき、Ok ボタン、Cancel ボタンそれぞれでポストバックするかどうかを制御できるようにした。
場所:
framework/trunk
ファイル:
4個の更新

凡例:

未変更
追加
削除
  • framework/trunk/WebApplication/UI/WebControls/ConfirmPage.aspx

    r1543 r1671  
    200200 
    201201 
    202             <h2>単独</h2> 
    203  
    204             <h3>Text プロパティ</h3> 
     202            <h2>サーバサイドからの表示</h2> 
     203 
     204            <h3>Show()</h3> 
    205205            <sff:Button ID="Button901" runat="server" 
    206206                Text="Confirm901 (PostBack and Confirm)" 
     
    213213                Text="" /> 
    214214 
     215            <h3>Show(requiresPostBack:false, requiresCancelPostBack:false)</h3> 
     216            <sff:Button ID="Button911" runat="server" 
     217                Text="Confirm911" 
     218                OnClick="Button911_Click" /> 
     219            <sff:Confirm ID="Confirm911" runat="server" 
     220                Text="Confirm911 ?" 
     221                Title="confirm title" 
     222                OnConfirmed="Confirm911_Confirmed" 
     223                OnCanceled="Confirm911_Canceled" /> 
     224            <sff:Label ID="Label911" runat="server" 
     225                Text="" /> 
     226 
     227            <h3>Show(requiresPostBack:true, requiresCancelPostBack:false)</h3> 
     228            <sff:Button ID="Button912" runat="server" 
     229                Text="Confirm912" 
     230                OnClick="Button912_Click" /> 
     231            <sff:Confirm ID="Confirm912" runat="server" 
     232                Text="Confirm912 ?" 
     233                Title="confirm title" 
     234                OnConfirmed="Confirm912_Confirmed" 
     235                OnCanceled="Confirm912_Canceled" /> 
     236            <sff:Label ID="Label912" runat="server" 
     237                Text="" /> 
     238 
     239            <h3>Show(requiresPostBack:false, requiresCancelPostBack:true)</h3> 
     240            <sff:Button ID="Button913" runat="server" 
     241                Text="Confirm913" 
     242                OnClick="Button913_Click" /> 
     243            <sff:Confirm ID="Confirm913" runat="server" 
     244                Text="Confirm913 ?" 
     245                Title="confirm title" 
     246                OnConfirmed="Confirm913_Confirmed" 
     247                OnCanceled="Confirm913_Canceled" /> 
     248            <sff:Label ID="Label913" runat="server" 
     249                Text="" /> 
     250 
     251            <h3>Show(requiresPostBack:true, requiresCancelPostBack:true)</h3> 
     252            <sff:Button ID="Button914" runat="server" 
     253                Text="Confirm914" 
     254                OnClick="Button914_Click" /> 
     255            <sff:Confirm ID="Confirm914" runat="server" 
     256                Text="Confirm914 ?" 
     257                Title="confirm title" 
     258                OnConfirmed="Confirm914_Confirmed" 
     259                OnCanceled="Confirm914_Canceled" /> 
     260            <sff:Label ID="Label914" runat="server" 
     261                Text="" /> 
     262 
     263            <h3>Validation</h3> 
     264            <asp:TextBox ID="TextBox921A" runat="server"/> 
     265            <asp:RequiredFieldValidator runat="server" 
     266                ControlToValidate="TextBox921A" 
     267                Text="*" 
     268                ErrorMessage="Text921A ErrorMessage" 
     269                ValidationGroup="ValidationGroup921A"/> 
     270            <asp:TextBox ID="TextBox921B" runat="server"/> 
     271            <asp:RequiredFieldValidator runat="server" 
     272                ControlToValidate="TextBox921B" 
     273                Text="*" 
     274                ErrorMessage="Text921B ErrorMessage" 
     275                ValidationGroup="ValidationGroup921B"/> 
     276            <sff:Button ID="Button921" runat="server" 
     277                Text="Confirm921" 
     278                OnClick="Button921_Click" /> 
     279            <sff:Confirm ID="Confirm921" runat="server" 
     280                Text="Confirm921 ?" 
     281                Title="confirm title" 
     282                CausesValidation="True" 
     283                CausesCancelValidation="True" 
     284                ValidationGroup="ValidationGroup921A" 
     285                CancelValidationGroup="ValidationGroup921B" 
     286                OnConfirmed="Confirm921_Confirmed" 
     287                OnCanceled="Confirm921_Canceled" /> 
     288            <sff:Label ID="Label921" runat="server" 
     289                Text="" /> 
     290            <div> 
     291                <asp:ValidationSummary runat="server" 
     292                    HeaderText="ValidationGroup921A" 
     293                    ValidationGroup="ValidationGroup921A"/> 
     294            </div> 
     295            <div> 
     296                <asp:ValidationSummary runat="server" 
     297                    HeaderText="ValidationGroup921B" 
     298                    ValidationGroup="ValidationGroup921B"/> 
     299            </div> 
     300 
    215301        </div> 
    216302    </form> 
  • framework/trunk/WebApplication/UI/WebControls/ConfirmPage.aspx.cs

    r1291 r1671  
    4646        /// ページがロードしたときに呼び出されるイベントハンドラです。 
    4747        /// </summary> 
    48         /// <param name="sender"> 
    49         /// イベントのソース。 
    50         /// </param> 
    51         /// <param name="e"> 
    52         /// イベント データを格納している <see cref="EventArgs"/>。 
    53         /// </param> 
     48        /// <param name="sender">イベントのソース。</param> 
     49        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
    5450        protected void Page_Load(object sender, EventArgs e) 
    5551        { 
     
    6056        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
    6157        /// </summary> 
    62         /// <param name="sender"> 
    63         /// イベントのソース。 
    64         /// </param> 
    65         /// <param name="e"> 
    66         /// イベント データを格納している <see cref="EventArgs"/>。 
    67         /// </param> 
     58        /// <param name="sender">イベントのソース。</param> 
     59        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
    6860        protected void Button_Click(object sender, EventArgs e) 
    6961        { 
     
    7264        } 
    7365 
    74         /// <summary> 
    75         /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
    76         /// </summary> 
    77         /// <param name="sender"> 
    78         /// イベントのソース。 
    79         /// </param> 
    80         /// <param name="e"> 
    81         /// イベント データを格納している <see cref="EventArgs"/>。 
    82         /// </param> 
     66        #region 901 event handlers 
     67 
     68        /// <summary> 
     69        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     70        /// </summary> 
     71        /// <param name="sender">イベントのソース。</param> 
     72        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
    8373        protected void Button901_Click(object sender, EventArgs e) 
    8474        { 
     
    9080        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
    9181        /// </summary> 
    92         /// <param name="sender"> 
    93         /// イベントのソース。 
    94         /// </param> 
    95         /// <param name="e"> 
    96         /// イベント データを格納している <see cref="EventArgs"/>。 
    97         /// </param> 
     82        /// <param name="sender">イベントのソース。</param> 
     83        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
    9884        protected void Confirm901_Confirmed(object sender, EventArgs e) 
    9985        { 
    10086            Label901.Text = "Confirm901.Confirmed"; 
     87        } 
     88 
     89        #endregion 
     90 
     91        #region 911 event handlers 
     92 
     93        /// <summary> 
     94        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     95        /// </summary> 
     96        /// <param name="sender">イベントのソース。</param> 
     97        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     98        protected void Button911_Click(object sender, EventArgs e) 
     99        { 
     100            Append(Label911, "Button911.Click"); 
     101            Confirm911.Show(false, false); 
     102        } 
     103 
     104        /// <summary> 
     105        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     106        /// </summary> 
     107        /// <param name="sender">イベントのソース。</param> 
     108        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     109        protected void Confirm911_Confirmed(object sender, EventArgs e) 
     110        { 
     111            Append(Label911, "Confirm911.Confirmed"); 
     112        } 
     113 
     114        /// <summary> 
     115        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     116        /// </summary> 
     117        /// <param name="sender">イベントのソース。</param> 
     118        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     119        protected void Confirm911_Canceled(object sender, EventArgs e) 
     120        { 
     121            Append(Label911, "Confirm911.Canceled"); 
     122        } 
     123 
     124        #endregion 
     125 
     126        #region 912 event handlers 
     127 
     128        /// <summary> 
     129        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     130        /// </summary> 
     131        /// <param name="sender">イベントのソース。</param> 
     132        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     133        protected void Button912_Click(object sender, EventArgs e) 
     134        { 
     135            Append(Label912, "Button912.Click"); 
     136            Confirm912.Show(true, false); 
     137        } 
     138 
     139        /// <summary> 
     140        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     141        /// </summary> 
     142        /// <param name="sender">イベントのソース。</param> 
     143        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     144        protected void Confirm912_Confirmed(object sender, EventArgs e) 
     145        { 
     146            Append(Label912, "Confirm912.Confirmed"); 
     147        } 
     148 
     149        /// <summary> 
     150        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     151        /// </summary> 
     152        /// <param name="sender">イベントのソース。</param> 
     153        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     154        protected void Confirm912_Canceled(object sender, EventArgs e) 
     155        { 
     156            Append(Label912, "Confirm912.Canceled"); 
     157        } 
     158 
     159        #endregion 
     160 
     161        #region 913 event handlers 
     162 
     163        /// <summary> 
     164        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     165        /// </summary> 
     166        /// <param name="sender">イベントのソース。</param> 
     167        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     168        protected void Button913_Click(object sender, EventArgs e) 
     169        { 
     170            Append(Label913, "Button913.Click"); 
     171            Confirm913.Show(false, true); 
     172        } 
     173 
     174        /// <summary> 
     175        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     176        /// </summary> 
     177        /// <param name="sender">イベントのソース。</param> 
     178        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     179        protected void Confirm913_Confirmed(object sender, EventArgs e) 
     180        { 
     181            Append(Label913, "Confirm913.Confirmed"); 
     182        } 
     183 
     184        /// <summary> 
     185        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     186        /// </summary> 
     187        /// <param name="sender">イベントのソース。</param> 
     188        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     189        protected void Confirm913_Canceled(object sender, EventArgs e) 
     190        { 
     191            Append(Label913, "Confirm913.Canceled"); 
     192        } 
     193 
     194        #endregion 
     195 
     196        #region 914 event handlers 
     197 
     198        /// <summary> 
     199        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     200        /// </summary> 
     201        /// <param name="sender">イベントのソース。</param> 
     202        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     203        protected void Button914_Click(object sender, EventArgs e) 
     204        { 
     205            Append(Label914, "Button914.Click"); 
     206            Confirm914.Show(true, true); 
     207        } 
     208 
     209        /// <summary> 
     210        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     211        /// </summary> 
     212        /// <param name="sender">イベントのソース。</param> 
     213        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     214        protected void Confirm914_Confirmed(object sender, EventArgs e) 
     215        { 
     216            Append(Label914, "Confirm914.Confirmed"); 
     217        } 
     218 
     219        /// <summary> 
     220        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     221        /// </summary> 
     222        /// <param name="sender">イベントのソース。</param> 
     223        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     224        protected void Confirm914_Canceled(object sender, EventArgs e) 
     225        { 
     226            Append(Label914, "Confirm914.Canceled"); 
     227        } 
     228 
     229        #endregion 
     230 
     231        #region 921 event handlers 
     232 
     233        /// <summary> 
     234        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     235        /// </summary> 
     236        /// <param name="sender">イベントのソース。</param> 
     237        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     238        protected void Button921_Click(object sender, EventArgs e) 
     239        { 
     240            Append(Label921, "Button921.Click"); 
     241            Confirm921.Show(true, true); 
     242        } 
     243 
     244        /// <summary> 
     245        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     246        /// </summary> 
     247        /// <param name="sender">イベントのソース。</param> 
     248        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     249        protected void Confirm921_Confirmed(object sender, EventArgs e) 
     250        { 
     251            Append(Label921, "Confirm921.Confirmed"); 
     252        } 
     253 
     254        /// <summary> 
     255        /// ボタンがクリックされたときに呼び出されるイベントハンドラです。 
     256        /// </summary> 
     257        /// <param name="sender">イベントのソース。</param> 
     258        /// <param name="e">イベント データを格納している <see cref="EventArgs"/>。</param> 
     259        protected void Confirm921_Canceled(object sender, EventArgs e) 
     260        { 
     261            Append(Label921, "Confirm921.Canceled"); 
     262        } 
     263 
     264        #endregion 
     265 
     266        /// <summary> 
     267        /// ラベルのテキストの文字列を追加します。 
     268        /// </summary> 
     269        /// <param name="label">ラベル。</param> 
     270        /// <param name="value">追加する文字列。</param> 
     271        private static void Append(Label label, string value) 
     272        { 
     273            string text = label.Text; 
     274            label.Text = text.Length > 0 ? text + ", " + value : value; 
    101275        } 
    102276    } 
  • framework/trunk/WebApplication/UI/WebControls/ConfirmPage.aspx.designer.cs

    r1543 r1671  
    309309        /// </remarks> 
    310310        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Label Label901; 
     311         
     312        /// <summary> 
     313        /// Button911 コントロール。 
     314        /// </summary> 
     315        /// <remarks> 
     316        /// 自動生成されたフィールド。 
     317        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     318        /// </remarks> 
     319        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Button Button911; 
     320         
     321        /// <summary> 
     322        /// Confirm911 コントロール。 
     323        /// </summary> 
     324        /// <remarks> 
     325        /// 自動生成されたフィールド。 
     326        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     327        /// </remarks> 
     328        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Confirm Confirm911; 
     329         
     330        /// <summary> 
     331        /// Label911 コントロール。 
     332        /// </summary> 
     333        /// <remarks> 
     334        /// 自動生成されたフィールド。 
     335        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     336        /// </remarks> 
     337        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Label Label911; 
     338         
     339        /// <summary> 
     340        /// Button912 コントロール。 
     341        /// </summary> 
     342        /// <remarks> 
     343        /// 自動生成されたフィールド。 
     344        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     345        /// </remarks> 
     346        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Button Button912; 
     347         
     348        /// <summary> 
     349        /// Confirm912 コントロール。 
     350        /// </summary> 
     351        /// <remarks> 
     352        /// 自動生成されたフィールド。 
     353        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     354        /// </remarks> 
     355        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Confirm Confirm912; 
     356         
     357        /// <summary> 
     358        /// Label912 コントロール。 
     359        /// </summary> 
     360        /// <remarks> 
     361        /// 自動生成されたフィールド。 
     362        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     363        /// </remarks> 
     364        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Label Label912; 
     365         
     366        /// <summary> 
     367        /// Button913 コントロール。 
     368        /// </summary> 
     369        /// <remarks> 
     370        /// 自動生成されたフィールド。 
     371        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     372        /// </remarks> 
     373        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Button Button913; 
     374         
     375        /// <summary> 
     376        /// Confirm913 コントロール。 
     377        /// </summary> 
     378        /// <remarks> 
     379        /// 自動生成されたフィールド。 
     380        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     381        /// </remarks> 
     382        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Confirm Confirm913; 
     383         
     384        /// <summary> 
     385        /// Label913 コントロール。 
     386        /// </summary> 
     387        /// <remarks> 
     388        /// 自動生成されたフィールド。 
     389        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     390        /// </remarks> 
     391        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Label Label913; 
     392         
     393        /// <summary> 
     394        /// Button914 コントロール。 
     395        /// </summary> 
     396        /// <remarks> 
     397        /// 自動生成されたフィールド。 
     398        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     399        /// </remarks> 
     400        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Button Button914; 
     401         
     402        /// <summary> 
     403        /// Confirm914 コントロール。 
     404        /// </summary> 
     405        /// <remarks> 
     406        /// 自動生成されたフィールド。 
     407        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     408        /// </remarks> 
     409        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Confirm Confirm914; 
     410         
     411        /// <summary> 
     412        /// Label914 コントロール。 
     413        /// </summary> 
     414        /// <remarks> 
     415        /// 自動生成されたフィールド。 
     416        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     417        /// </remarks> 
     418        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Label Label914; 
     419         
     420        /// <summary> 
     421        /// TextBox921A コントロール。 
     422        /// </summary> 
     423        /// <remarks> 
     424        /// 自動生成されたフィールド。 
     425        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     426        /// </remarks> 
     427        protected global::System.Web.UI.WebControls.TextBox TextBox921A; 
     428         
     429        /// <summary> 
     430        /// TextBox921B コントロール。 
     431        /// </summary> 
     432        /// <remarks> 
     433        /// 自動生成されたフィールド。 
     434        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     435        /// </remarks> 
     436        protected global::System.Web.UI.WebControls.TextBox TextBox921B; 
     437         
     438        /// <summary> 
     439        /// Button921 コントロール。 
     440        /// </summary> 
     441        /// <remarks> 
     442        /// 自動生成されたフィールド。 
     443        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     444        /// </remarks> 
     445        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Button Button921; 
     446         
     447        /// <summary> 
     448        /// Confirm921 コントロール。 
     449        /// </summary> 
     450        /// <remarks> 
     451        /// 自動生成されたフィールド。 
     452        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     453        /// </remarks> 
     454        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Confirm Confirm921; 
     455         
     456        /// <summary> 
     457        /// Label921 コントロール。 
     458        /// </summary> 
     459        /// <remarks> 
     460        /// 自動生成されたフィールド。 
     461        /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 
     462        /// </remarks> 
     463        protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.Label Label921; 
    311464    } 
    312465} 
  • framework/trunk/WebLibrary/Sources/UI/WebControls/Confirm.cs

    r1543 r1671  
    2525    using System; 
    2626    using System.ComponentModel; 
     27    using System.Web; 
    2728    using System.Web.UI; 
    2829    using FCSoft.SilverFrost.Framework.Web.Properties; 
     
    3233    /// 確認を行うためのダイアログボックスです。 
    3334    /// </summary> 
     35    [DefaultEvent("Confirmed")] 
    3436    [WebDescription("Description_Confirm")] 
    3537    [ControlInitializerTarget] 
     
    4850        private const string OnClickClientScriptBlockKey = "OnClick_"; 
    4951 
     52 
     53        /// <summary> 
     54        /// Ok ボタンをクリックしたときのコマンド名。 
     55        /// </summary> 
     56        private const string OkCommandName = "OK"; 
     57 
     58        /// <summary> 
     59        /// Cancel ボタンをクリックしたときのコマンド名。 
     60        /// </summary> 
     61        private const string CancelCommandName = "Cancel"; 
     62 
     63 
    5064        /// <summary> 
    5165        /// <see cref="Title"/> プロパティ用のキー。 
     
    5468 
    5569        /// <summary> 
     70        /// <see cref="OkButtonText"/> プロパティ用のキー。 
     71        /// </summary> 
     72        private const string OkButtonTextKey = "OkButtonText"; 
     73 
     74        /// <summary> 
     75        /// <see cref="CancelButtonText"/> プロパティ用のキー。 
     76        /// </summary> 
     77        private const string CancelButtonTextKey = "CancelButtonText"; 
     78 
     79        /// <summary> 
    5680        /// <see cref="CausesValidation"/> プロパティ用のキー。 
    5781        /// </summary> 
     
    5983 
    6084        /// <summary> 
     85        /// <see cref="CausesCancelValidation"/> プロパティ用のキー。 
     86        /// </summary> 
     87        private const string CausesCancelValidationKey = "CausesCancelValidation"; 
     88 
     89        /// <summary> 
    6190        /// <see cref="ValidationGroup"/> プロパティ用のキー。 
    6291        /// </summary> 
     
    6493 
    6594        /// <summary> 
    66         /// <see cref="OkButtonText"/> プロパティ用のキー。 
    67         /// </summary> 
    68         private const string OkButtonTextKey = "OkButtonText"; 
    69  
    70         /// <summary> 
    71         /// <see cref="CancelButtonText"/> プロパティ用のキー。 
    72         /// </summary> 
    73         private const string CancelButtonTextKey = "CancelButtonText"; 
     95        /// <see cref="CancelValidationGroup"/> プロパティ用のキー。 
     96        /// </summary> 
     97        private const string CancelValidationGroupKey = "CancelValidationGroup"; 
    7498 
    7599 
     
    79103        private static readonly object EventConfirmedKey = new object(); 
    80104 
     105        /// <summary> 
     106        /// <see cref="Canceled"/> イベントハンドラの識別子。 
     107        /// </summary> 
     108        private static readonly object EventCanceledKey = new object(); 
     109 
    81110 
    82111        /// <summary> 
     
    85114        private bool showOnRender; 
    86115 
     116        /// <summary> 
     117        /// Ok のクリックでポストバックするかどうか 
     118        /// </summary> 
     119        private bool requiresOkPostBackOnRender; 
     120 
     121        /// <summary> 
     122        /// Cancel のクリックでポストバックするかどうか 
     123        /// </summary> 
     124        private bool requiresCancelPostBackOnRender; 
     125 
    87126 
    88127        /// <summary> 
     
    96135 
    97136        /// <summary> 
    98         /// 確認で OK されたときに発生するイベントハンドラです。 
     137        /// 確認で Ok されたときに発生するイベントハンドラです。 
    99138        /// </summary> 
    100139        [WebCategory("Action")] 
     
    110149            { 
    111150                Events.RemoveHandler(EventConfirmedKey, value); 
     151            } 
     152        } 
     153 
     154        /// <summary> 
     155        /// 確認で Cancel されたときに発生するイベントハンドラです。 
     156        /// </summary> 
     157        [WebCategory("Action")] 
     158        [WebDescription("Description_Canceled")] 
     159        public event EventHandler Canceled 
     160        { 
     161            add 
     162            { 
     163                Events.AddHandler(EventCanceledKey, value); 
     164            } 
     165 
     166            remove 
     167            { 
     168                Events.RemoveHandler(EventCanceledKey, value); 
    112169            } 
    113170        } 
     
    188245 
    189246        /// <summary> 
    190         /// <see cref="Show"/> メソッドにより表示された確認ダイアログで OK 
     247        /// <see cref="Show(bool, bool)"/> メソッドにより表示された確認ダイアログで Ok 
    191248        /// が選択されポストバックされるときに検証を実行するかどうかを示す値を取得または設定します。 
    192249        /// </summary> 
    193250        /// <value> 
    194         /// <see cref="Show"/> メソッドにより表示された確認ダイアログで OK 
     251        /// <see cref="Show(bool, bool)"/> メソッドにより表示された確認ダイアログで Ok 
    195252        /// が選択されポストバックされるときに検証を実行する場合は <see langword="true"/>。 
    196253        /// それ以外の場合は <see langword="false"/>。 
     
    219276 
    220277        /// <summary> 
    221         /// <see cref="Show"/> メソッドにより表示された確認ダイアログの結果で 
    222         /// サーバーへのポストバック時に、コントロールによって発生する検証の対象となるコントロールのグループを取得または設定します。 
    223         /// </summary> 
    224         /// <value> 
    225         /// サーバーへのポストバック時に、コントロールによって発生する検証の対象となるコントロールのグループ。 
     278        /// <see cref="Show(bool, bool)"/> メソッドにより表示された確認ダイアログで Cancel 
     279        /// が選択されポストバックされるときに検証を実行するかどうかを示す値を取得または設定します。 
     280        /// </summary> 
     281        /// <value> 
     282        /// <see cref="Show(bool, bool)"/> メソッドにより表示された確認ダイアログで Cancel 
     283        /// が選択されポストバックされるときに検証を実行する場合は <see langword="true"/>。 
     284        /// それ以外の場合は <see langword="false"/>。 
     285        /// 既定値は <see langword="false"/> です。 
     286        /// </value> 
     287        /// <remarks> 
     288        /// <see cref="Button.ConfirmControl"/> 等により表示された確認ダイアログでは 
     289        /// このプロパティは参照されません。 
     290        /// </remarks> 
     291        [Themeable(false)] 
     292        [DefaultValue(true)] 
     293        [WebCategory("Behavior")] 
     294        [WebDescription("Description_CausesCancelValidation")] 
     295        public virtual bool CausesCancelValidation 
     296        { 
     297            get 
     298            { 
     299                return (bool)(ViewState[CausesCancelValidationKey] ?? false); 
     300            } 
     301 
     302            set 
     303            { 
     304                ViewState[CausesCancelValidationKey] = value; 
     305            } 
     306        } 
     307 
     308        /// <summary> 
     309        /// <see cref="Show(bool, bool)"/> メソッドにより表示された確認ダイアログで Ok 
     310        /// が選択されポストバックされるときに、コントロールによって発生する検証の対象となるコントロールのグループを取得または設定します。 
     311        /// </summary> 
     312        /// <value> 
     313        /// Ok  が選択されポストバックされるときに、コントロールによって発生する検証の対象となるコントロールのグループ。 
    226314        /// 既定値は空の文字列 ("") です。 
    227315        /// </value> 
     
    248336 
    249337        /// <summary> 
     338        /// <see cref="Show(bool, bool)"/> メソッドにより表示された確認ダイアログで Cancel 
     339        /// が選択されポストバックされるときに、コントロールによって発生する検証の対象となるコントロールのグループを取得または設定します。 
     340        /// </summary> 
     341        /// <value> 
     342        /// Cancel  が選択されポストバックされるときに、コントロールによって発生する検証の対象となるコントロールのグループ。 
     343        /// 既定値は空の文字列 ("") です。 
     344        /// </value> 
     345        /// <remarks> 
     346        /// <see cref="Button.ConfirmControl"/> 等により表示された確認ダイアログでは 
     347        /// このプロパティは参照されません。 
     348        /// </remarks> 
     349        [Themeable(false)] 
     350        [DefaultValue("")] 
     351        [WebCategory("Behavior")] 
     352        [WebDescription("Description_CancelValidationGroup")] 
     353        public virtual string CancelValidationGroup 
     354        { 
     355            get 
     356            { 
     357                return (string)(ViewState[CancelValidationGroupKey] ?? string.Empty); 
     358            } 
     359 
     360            set 
     361            { 
     362                ViewState[CancelValidationGroupKey] = value; 
     363            } 
     364        } 
     365 
     366        /// <summary> 
    250367        /// サーバー コントロールを UI としてページに表示するかどうかを示す値を取得または設定します。 
    251368        /// </summary> 
     
    284401        public void Show() 
    285402        { 
     403            Show(true, false); 
     404        } 
     405 
     406        /// <summary> 
     407        /// ページを表示するときに、この確認ダイアログを表示します。 
     408        /// </summary> 
     409        /// <param name="requiresOkPostBack"> 
     410        /// Ok ボタンを選択したときにポストバックする場合は <see langword="true"/>。 
     411        /// それ以外の場合は <see langword="false"/>。 
     412        /// </param> 
     413        /// <param name="requiresCancelPostBack"> 
     414        /// Cancel ボタンを選択したときにポストバックする場合は <see langword="true"/>。 
     415        /// それ以外の場合は <see langword="false"/>。 
     416        /// </param> 
     417        public void Show(bool requiresOkPostBack, bool requiresCancelPostBack) 
     418        { 
    286419            if (Page == null) 
    287420            { 
     
    290423 
    291424            showOnRender = true; 
     425            requiresOkPostBackOnRender = requiresOkPostBack; 
     426            requiresCancelPostBackOnRender = requiresCancelPostBack; 
    292427        } 
    293428 
     
    338473        protected virtual void RaisePostBackEvent(string eventArgument) 
    339474        { 
    340             OnConfirmed(EventArgs.Empty); 
     475            switch (eventArgument) 
     476            { 
     477                case OkCommandName: 
     478                    OnConfirmed(EventArgs.Empty); 
     479                    break; 
     480 
     481                case CancelCommandName: 
     482                    OnCanceled(EventArgs.Empty); 
     483                    break; 
     484            } 
    341485        } 
    342486 
     
    353497            { 
    354498                confirmedHandler(this, e); 
     499            } 
     500        } 
     501 
     502        /// <summary> 
     503        /// <see cref="Canceled"/> イベントを発生させます。 
     504        /// </summary> 
     505        /// <param name="e"> 
     506        /// イベント データを格納している <see cref="EventArgs"/>。 
     507        /// </param> 
     508        protected virtual void OnCanceled(EventArgs e) 
     509        { 
     510            EventHandler canceledHandler = (EventHandler)Events[EventCanceledKey]; 
     511            if (canceledHandler != null) 
     512            { 
     513                canceledHandler(this, e); 
    355514            } 
    356515        } 
     
    382541        keepBreakArgument: " + KeepBreak.ToString().ToLowerInvariant() + @" 
    383542    })" + (showOnRender ? @".confirm('confirm', null, function(selectedButton) { 
    384         if (selectedButton == 0) { 
    385             " + Page.ClientScript.GetPostBackEventReference( 
    386                 new PostBackOptions( 
    387                     this, 
    388                     string.Empty, 
    389                     null, 
    390                     false, 
    391                     false, 
    392                     false, 
    393                     true, 
    394                     CausesValidation, 
    395                     ValidationGroup)) + @"; 
     543        if (selectedButton == 0) {" 
     544                    + (requiresOkPostBackOnRender 
     545                        ? @" 
     546            " 
     547                            + Page.ClientScript.GetPostBackEventReference( 
     548                                new PostBackOptions( 
     549                                    this, 
     550                                    OkCommandName, 
     551                                    null, 
     552                                    false, 
     553                                    false, 
     554                                    false, 
     555                                    true, 
     556                                    CausesValidation, 
     557                                    ValidationGroup)) + ";" 
     558                        : string.Empty) 
     559                    + @" 
     560        } else {" 
     561                    + (requiresCancelPostBackOnRender 
     562                        ? @" 
     563            " 
     564                            + Page.ClientScript.GetPostBackEventReference( 
     565                                new PostBackOptions( 
     566                                    this, 
     567                                    CancelCommandName, 
     568                                    null, 
     569                                    false, 
     570                                    false, 
     571                                    false, 
     572                                    true, 
     573                                    CausesCancelValidation, 
     574                                    CancelValidationGroup)) + ";" 
     575                        : string.Empty) 
     576                    + @" 
    396577        } 
    397578    })" : string.Empty) 
     
    410591        /// <see cref="HtmlTextWriter"/>。 
    411592        /// </param> 
     593        /// <exception cref="HttpException"> 
     594        /// <see cref="Label.TextSize"/> に値が設定されていますが 
     595        /// <see cref="Label.SizeBaseFont"/> が未設定です。 
     596        /// </exception> 
    412597        protected override void AddAttributesToRender(HtmlTextWriter writer) 
    413598        { 
詳しい使い方は TracChangeset を参照してください。