Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 正在验证gridview控件内的dropdownlist_Asp.net - Fatal编程技术网

Asp.net 正在验证gridview控件内的dropdownlist

Asp.net 正在验证gridview控件内的dropdownlist,asp.net,Asp.net,对于测试,我尝试了自定义验证 function ClientValidate(sender, args) { //return false for testing... args.IsValid = false; } <asp:CustomValidator runat="server" ID="CustomValidator1" ControlToValidate="ddldetail" Text

对于测试,我尝试了自定义验证

function ClientValidate(sender, args) { 
       //return false for testing...
       args.IsValid = false;

    }

 <asp:CustomValidator runat="server" ID="CustomValidator1" ControlToValidate="ddldetail"
                        Text="Please select" ValidateEmptyText="true"    
                        ClientValidationFunction="ClientValidate"  
                        Display="Dynamic">     
                    </asp:CustomValidator>
函数ClientValidate(发送方,参数){
//返回false进行测试。。。
args.IsValid=false;
}
编辑:以下是我非常希望发生的事情:

如何验证dropdownlist,我已经做了无数次了,但我在这里做错了什么?任何第二双眼睛都可能发现它?如果用户没有选择任何帮助,我将尝试验证dropdownlist

<asp:Button ID="btn" runat="server" Text="Submit" OnClick="btn_Click"  CausesValidation="true"/>

<asp:GridView ID="GVInputMapping" runat="server" AutoGenerateColumns="False" DataKeyNames="Id"
                     EnableModelValidation="True" onrowdatabound="GVInputMapping_RowDataBound">
                    <Columns>
                        <asp:BoundField DataField="Name" ControlStyle-Width="250px" HeaderText="Name" SortExpression="Name" />
                        <asp:TemplateField>
                            <ItemTemplate>
                        <asp:DropDownList runat="server" ID="ddldetail">
                        <asp:ListItem Selected="True" Value="0">Select me</asp:ListItem>
                        <asp:ListItem Value="1">abc</asp:ListItem>
                        <asp:ListItem Value="2">GHt</asp:ListItem>
                    </asp:DropDownList>
    <asp:RequiredFieldValidator ID="requiredDDL" runat="server" 
                        ControlToValidate="ddldetail" ErrorMessage="Please select" InitialValue="Select me"  Display="Dynamic"></asp:RequiredFieldValidator>

                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>

选择我
abc
GHt

您将验证器的
初始值设置为选择我,但该项的值实际上是
0

<asp:DropDownList ID="DropDownList1" runat="server">
    <asp:ListItem Text="Select Me" Value="0" />
    <asp:ListItem Text="Foo" Value="1" />
    <asp:ListItem Text="Bar" Value="2" />
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
    ControlToValidate="DropDownList1" 
    ErrorMessage="Please select" 
    InitialValue="0"        
    Display="Dynamic">
</asp:RequiredFieldValidator>

您可以将其添加到验证器和行中的按钮。

如果您查看html代码
选择我,我确实有此功能。
这是文本,而不是值。如果不设置值,文本将被指定为值,但在这种情况下,您将值设置为
0
。您可以通过将
初始值更改为
0
来测试我的理论。您的验证器应该在您这样做之后开始工作。因此,现在它在所有行上显示
errormessage=“please select”
,这是一个完全不同的问题。您需要为每一行分配一个唯一的
ValidationGroup
ValidationGroup='<%# string.Format("Group_{0}", Eval("Id")) %>'