asp.net验证DropDownList框

AJs*_*ack 1 asp.net validation asp.net-mvc-validation drop-down-menu

我有一个显示专辑值的下拉列表(cboViewAlbums).第一项是 请选择专辑....我试图使用验证,如果cboViewAlbums列表选择值0,当单击lb_create_album linkBut​​ton时会抛出错误.下面是这个和我的尝试的代码:

<asp:DropDownList ID="cboViewAlbums" runat="server" 
         DataSourceID="SqlDataSource1" DataTextField="album_name" 
         DataValueField="album_id" Width="250px" AutoPostBack="True" AppendDataBoundItems="true">
         <asp:ListItem Value="0">Please select an album...</asp:ListItem>
         </asp:DropDownList>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     <asp:LinkButton ID="lb_create_album" runat="server">Create Album</asp:LinkButton>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:fpaConnectionString %>"
        SelectCommand="SELECT [album_id], [album_name] FROM [fpa_albums] ORDER BY [album_name]">
    </asp:SqlDataSource>
     <br />
     <asp:HyperLink CssClass="example7" ID="hLinkUploadPhotos" NavigateUrl="multiple_upload.aspx" runat="server">Upload Multiple Photos</asp:HyperLink>
     <br />
     <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
         ControlToValidate="cboViewAlbums" ErrorMessage="Please Select an Album" 
         InitialValue="Please select an album..."></asp:RequiredFieldValidator>
Run Code Online (Sandbox Code Playgroud)

知道如何让这个工作吗?

谢谢

Aru*_*ana 5

你必须使用带有下拉列表的Range验证器并设置mininmum值大于0和最大值来设置任何最大值,aslo提供min&max的类型值,它是整数.

下面是我为您制作的示例代码,您必须绑定静态列表项的数据源.

<asp:DropDownList runat="server" ID="ddl1" >
        <asp:ListItem Value="0" Text="Select value" />
        <asp:ListItem Value="1" Text="text1" />
        <asp:ListItem Value="2" Text="text2" />
    </asp:DropDownList>
    <asp:RangeValidator ErrorMessage="Please select value" ControlToValidate="ddl1" runat="server"
        MinimumValue="1" MaximumValue="100000000" Type=Integer />
    <asp:Button Text="text" runat="server"  />
Run Code Online (Sandbox Code Playgroud)

如果这对您有帮助,请标记为答案

谢谢

阿伦