Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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中调用RequiredFieldValidator和ValidatorCallender_Asp.net_Gridview_Ajaxcontroltoolkit - Fatal编程技术网

Asp.net 在GridView中调用RequiredFieldValidator和ValidatorCallender

Asp.net 在GridView中调用RequiredFieldValidator和ValidatorCallender,asp.net,gridview,ajaxcontroltoolkit,Asp.net,Gridview,Ajaxcontroltoolkit,我有一个GridView,它的列是文本框,在用户修改GridView中的数据后,我有一个“提交”按钮,它位于GridView之外,也位于页面中不同内容下。。。如何设置验证器以使其工作,即使我已正确设置验证器,但当我单击“提交”按钮时,它不会检查验证,我相信这是因为该按钮不在GridView或UpdatePanel中。。。有没有办法绕过这个问题?还是更好的方法? 提前谢谢你的帮助 Please select a Test from the dropdown below.<br /&g

我有一个GridView,它的列是文本框,在用户修改GridView中的数据后,我有一个“提交”按钮,它位于GridView之外,也位于页面中不同内容下。。。如何设置验证器以使其工作,即使我已正确设置验证器,但当我单击“提交”按钮时,它不会检查验证,我相信这是因为该按钮不在GridView或UpdatePanel中。。。有没有办法绕过这个问题?还是更好的方法? 提前谢谢你的帮助

    Please select a Test from the dropdown below.<br />
    <asp:DropDownList ID="ddlResult" runat="server" 
        onselectedindexchanged="ddlResult_SelectedIndexChanged" 
        AutoPostBack="True" CausesValidation="false">
    </asp:DropDownList>
    <br />
    <asp:UpdatePanel ID="upGrid" runat="server">
        <ContentTemplate>
            <asp:GridView ID="grdResults" runat="server"
                        CssClass="gridview" 
                        RowStyle-CssClass="gridview_itm" 
                        AlternatingRowStyle-CssClass="gridview_aitm" 
                        HeaderStyle-CssClass="gridview_hdr" 
                        Width="100%" AutoGenerateColumns="False">
                        <Columns>
                            <asp:TemplateField HeaderText="Test">
                                <ItemTemplate>
                                    <asp:Label ID="lblTest" runat="server" Text='<%#Eval("Test")%>'></asp:Label>
                                </ItemTemplate>                                                                            
                            </asp:TemplateField>

                            <asp:TemplateField HeaderText="Result">
                                <ItemTemplate>
                                    <asp:TextBox ID="tbResult" runat="server" Text='<%#Request.QueryString["t_ID"] == null ? null : Eval("n_Result") %>'></asp:TextBox>                                        
                                    <asp:Label ID="lblResult" runat="server" Text='<%#Eval("Validate")%>' ForeColor="#D50000"></asp:Label>
                                    <asp:FilteredTextBoxExtender ID="ftbe" runat="server" TargetControlID="tbResult" FilterType="Custom, Numbers" ValidChars='<%#Eval("n_Mask")%>' />
                                    <asp:RequiredFieldValidator runat="server" ID="RReq"
                                        ControlToValidate="tbResult"
                                        Display="None"
                                        ErrorMessage="A Result is required." />
                                    <asp:ValidatorCalloutExtender runat="Server" ID="RReqE"
                                        TargetControlID="RReq"
                                        HighlightCssClass="validatorCalloutHighlight" />                        
                                </ItemTemplate> 
                            </asp:TemplateField>

                            <asp:TemplateField HeaderText="Date Completed">
                                <ItemTemplate>
                                    <asp:TextBox ID="tbDate" runat="server" Text='<%#Request.QueryString["t_ID"] == null ? null : Eval("d_DateCompleted") %>'></asp:TextBox>
                                    <asp:Image ID="imgCalendar" runat="server" ImageUrl="~/App_Themes/Sugar2006/images/Calendar_scheduleHS.png" ImageAlign="Middle" />
                                    <asp:CalendarExtender ID="ce" runat="server" TargetControlID ="tbDate" PopupButtonID="imgCalendar" />        
                                    <asp:MaskedEditExtender ID="mex" runat="server" 
                                        TargetControlID="tbDate" 
                                        Mask="99/99/9999" 
                                        MaskType="Date"
                                        MessageValidatorTip="true"
                                        OnFocusCssClass="MaskedEditFocus"
                                        OnInvalidCssClass="MaskedEditError" />
                                    <asp:MaskedEditValidator ID="mev" runat="server" 
                                        ControlToValidate="tbDate"
                                        ControlExtender="mex" 
                                        Display="Dynamic" 
                                        InvalidValueMessage="This date is invalid!" Font-Bold="True" 
                                        ForeColor="#D50000" />
                                    <asp:RequiredFieldValidator runat="server" ID="DReq"
                                        ControlToValidate="tbDate"
                                        Display="None"
                                        ErrorMessage="A Date is required." />
                                    <asp:ValidatorCalloutExtender runat="Server" ID="DReqE"
                                        TargetControlID="DReq"
                                        HighlightCssClass="validatorCalloutHighlight" />  
                                </ItemTemplate>                                                
                            </asp:TemplateField>                                                            
                        </Columns>        
            </asp:GridView>
            <br />
            <asp:Label ID="lblSave" runat="server" Text="**After Each Test Entry Please Save." ForeColor="#D50000"></asp:Label>
        </ContentTemplate>        
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="ddlResult" EventName="SelectedIndexChanged" />
        </Triggers>
    </asp:UpdatePanel>

<asp:Content ID="Content1" ContentPlaceHolderID="cntSidebar" runat="server">
<asp:Button ID="btnSave" runat="server" Text="Save" Width="80%" 
    onclick="btnSave_Click"/> <br />
<asp:Button ID="btnClose" runat="server" Text="Close" Width="80%" 
    onclick="btnClose_Click" CausesValidation="false"/>
</asp:Content>
请从下面的下拉列表中选择一个测试。




您是否尝试在“提交”按钮上设置以下属性:

CausesValidation=“true”ValidationGroup=“vgMyGroup”

另外,请尝试设置验证控件属性:
ValidationGroup=“vgMyGroup”

另一个建议是对Commit按钮的click事件进行回发,并检查

if(Page.IsValid)...

我很想知道设置ValidationGroup属性是否在ASP内容控件中保持不变。

嘿,非常感谢您的回复。事实上那很有趣。。。我尝试过验证组,但它不起作用,但自从我放置if(Page.IsValid)后,它确实会提示用户输入无效字段。。。现在我想知道这是否会导致回发问题?