0
<asp:DropDownList id="Code1" runat="server" 
    OnLoad="GetCode1" ValidationGroup="ValidateGroup"/>    
 <asp:RequiredFieldValidator ID="Code1_RequiredValidator" runat="server" 
       ErrorMessage="Please select a value!"   ControlToValidate="Code1" 
       ValidationGroup="ValidateGroup" InitialValue="Select Code1!">
 </asp:RequiredFieldValidator>

以下に示すように、ドロップダウンはコードビハインドに取り込まれます。

protected void GetCode1(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ISROManagement sroMgmt = ObjectFactory.CreateSROManagement();
                List<string> code1List = QuerydBForCodes();
                Code1.DataSource = codeList;
                Code1.DataBind();
                Code1.Items.Insert(0, "Make a selection."); //Added to be shown as the default value:
            }
        }

モーダル ポップアップ エクステンダーを送信すると、インデックス 0 のデフォルト値、つまり選択を行います。ErrorMessage="Please make a selection!" が表示されません。ドロップダウンの横に印刷されています!したがって、検証は行われません。

また、モーダルポップアップを送信するボタンクリックで、私は

Page.Validate("ValidateGroup");
        if (!Page.IsValid) return;

ただし、ドロップダウンの横に検証メッセージが表示されません。

4

2 に答える 2

1

GetCode1 関数で、次の行を置き換えます。

Code1.Items.Insert(0, "Make a selection.");

Code1.Items.Insert(0, "");
于 2012-06-20T04:31:09.590 に答える
0

ドロップダウンリストには、同じValidationGroupが必要です。ドロップダウンリストにValidationGroup="ValidateGroup"を追加します

InitialValueを「SelectCode1!」から変更します。「選択する」へ。

于 2012-06-20T00:42:00.017 に答える