4

新しいレコードを table1 に追加するためのフォームが上部にあり、その下に編集機能を備えた table1 のレコードを表示する GridView で構成されるページがあります。

上記のフォームは、table1 に名前を入力できる 1 つのテキスト ボックスにすぎません。このテキスト ボックスには、必須のフィールド バリデーターがあります。バリデーターは問題を引き起こしますが、ユーザーが「更新」を押したときのようにグリッドビューが編集モードの場合、バリデーターがトリガーされるため、何も保存されません (上記のフォームには何もないため)。

どうすればこれを修正できますか?

4

3 に答える 3

4

CausesValidation="False" を GridView に配置する必要があります

<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" CausesValidation="False"/>
于 2016-09-14T18:22:25.110 に答える
3

RequiredFieldValidatorコントロールと[追加]ボタンに同じValidationGroup名を設定できます。このようなもの:

<asp:Button ID="btnAdd" runat="server" OnClick="btnAdd_Click" ValidationGroup="addValidation" />
<asp:RequiredFieldValidator ID="nameRequired" ControlToValidate="txtName" runat="server" ValidationGroup="addValidation"></asp:RequiredFieldValidator>
...
<asp:Button ID="btnUpdate" runat="server" OnClick="btnUpdate_Click" />

そのため、[更新]ボタンは影響を受けません。

于 2013-01-14T02:00:59.790 に答える
0

gridview ボタンで原因検証を false に使用します。

<asp:Button ID="Button2" runat="server" 
     CausesValidation="False" 
     Text="Cancel - Will Not Validate!" />

以下に例を示します。

http://www.java2s.com/Code/ASP/Asp-Control/CausesValidationFalse.htm

于 2013-01-14T04:42:48.200 に答える