2

我一直在我的一个项目中使用 RadTreeList,我使用了位于 RadTreeList 的 EditFormSettings 内的 RadUpload 控件。我已经使用 javascript 来验证 RadUpload 控件(即用户是否选择了任何文件),现在的问题是我无法在我的 javascript 中的 RadTreeList 中找到/获取 RadUpload 控件,尽管我得到了RadTreeList 控件。

以下是我的代码:-

 function IsFilesSelected(source, args) {
            debugger;
            args.IsValid = true;
            var treeList = $find("<%= FAQRadTreeList.ClientID %>");
            var RadUpload = treeList._findChildControl.getName("UploadDocumentRadUpload");
            var UploadLabel = treeList.selectItem(ImageExtensionLabel); 
            var FileInputs = RadUpload.getFileInputs();
            for (var i = 0; i < FileInputs.length; i++) {
                if (FileInputs[i].value && FileInputs[i].value.length > 0) {
                    args.IsValid = true;
                }
                else {
                    if (UploadLabel == null || UploadLabel.innerHTML == '')
                        args.IsValid = false;
                    else
                        args.IsValid = true;
                }
            }
        }

虽然我的 RadTreeList 显示为:-

  <telerik:RadTreeList ID="FAQRadTreeList" runat="server" AllowPaging="True" DataSourceID="FAQSqlDataSource"
                        PageSize="20" DataKeyNames="FAQ_ID" ParentDataKeyNames="FAQ_Parent_ID" AutoGenerateColumns="False"
                        Width="100%" OnInsertCommand="FAQRadTreeList_InsertCommand" OnItemCommand="FAQRadTreeList_ItemCommand"
                        OnItemDataBound="FAQRadTreeList_ItemDataBound" OnUpdateCommand="FAQRadTreeList_UpdateCommand"
                        OnItemDrop="FAQRadTreeList_ItemDrop">
                        <PagerStyle Mode="NextPrevNumericAndAdvanced" />
                        <Columns>
                            <telerik:TreeListEditCommandColumn UniqueName="InsertCommandColumn" ButtonType="ImageButton"
                                AddRecordText="Add" ShowEditButton="true" ItemStyle-CssClass="MyImageButton">
                                <ItemStyle HorizontalAlign="Left" VerticalAlign="Top" Width="60px" />
                                <HeaderStyle VerticalAlign="Top" HorizontalAlign="Left" Width="60px" />
                            </telerik:TreeListEditCommandColumn>
                            <telerik:TreeListTemplateColumn DataField="FAQ_Title" UniqueName="FAQ_Title" HeaderText="Title">
                                <ItemTemplate>
                                    <asp:Label ID="FAQTitleLabel" runat="server" Text='<%# Bind("FAQ_Title") %>'></asp:Label>
                                </ItemTemplate>
                                <ItemStyle HorizontalAlign="Left" VerticalAlign="Top" Width="120px" />
                                <HeaderStyle HorizontalAlign="Left" VerticalAlign="Top" Width="120px" />
                            </telerik:TreeListTemplateColumn>
                            <telerik:TreeListTemplateColumn DataField="FAQ_Description" UniqueName="FAQ_Description"
                                HeaderText="Description">
                                <ItemTemplate>
                                    <asp:Label ID="FAQDescriptionLabel" runat="server" Text='<%# ( Eval("FAQ_Description").ToString().Length > 150)? string.Concat(Eval("FAQ_Description").ToString().Substring(0, 150), ".....") : Eval("FAQ_Description") %>'></asp:Label>
                                    <telerik:RadToolTip ID="FAQDescriptionRadToolTip" TargetControlID='<%# ( Eval("FAQ_Description").ToString().Length > 150)? "FAQDescriptionLabel" : "" %>'
                                        Width="400px" Height="300px" ContentScrolling="Y" runat="server" HideDelay="1000"
                                        Position="TopCenter" RelativeTo="Element" ShowDelay="1000">
                                        <%# Eval("FAQ_Description")%>
                                    </telerik:RadToolTip>
                                </ItemTemplate>
                                <ItemStyle HorizontalAlign="Left" VerticalAlign="Top" />
                                <HeaderStyle HorizontalAlign="Left" VerticalAlign="Top" />
                            </telerik:TreeListTemplateColumn>
                            <telerik:TreeListTemplateColumn DataField="ParentName" UniqueName="ParentName" HeaderText="Parent Item">
                                <ItemTemplate>
                                    <asp:Label ID="ParentTitleLabel" runat="server" Text='<%# Bind("ParentName") %>'></asp:Label>
                                </ItemTemplate>
                                <ItemStyle HorizontalAlign="Left" VerticalAlign="Top" Width="100px" />
                                <HeaderStyle HorizontalAlign="Left" VerticalAlign="Top" Width="100px" />
                            </telerik:TreeListTemplateColumn>
                            <telerik:TreeListTemplateColumn DataField="FAQ_Order" UniqueName="FAQ_Order" HeaderText="Order">
                                <ItemTemplate>
                                    <telerik:RadNumericTextBox ID="FAQOrderRadNumericTextBox" MinValue="1" NumberFormat-DecimalDigits="0"
                                        Enabled="false" runat="server" Width="50px" Text='<%# Bind("FAQ_Order") %>'>
                                        <EnabledStyle Font-Names="Verdana" HorizontalAlign="Right" />
                                    </telerik:RadNumericTextBox>
                                </ItemTemplate>
                                <ItemStyle HorizontalAlign="Center" VerticalAlign="Top" Width="60px" />
                                <HeaderStyle HorizontalAlign="Center" VerticalAlign="Top" Width="60px" />
                            </telerik:TreeListTemplateColumn>
                            <telerik:TreeListTemplateColumn HeaderText="Status" DataField="FAQ_ActiveStatus"
                                UniqueName="FAQ_ActiveStatus">
                                <ItemTemplate>
                                    <asp:Label ID="ActiveStatusLabel" runat="server" CssClass='<%# (Convert.ToBoolean(Eval("FAQ_ActiveStatus"))) ? "active" : "inactive" %>'
                                        ToolTip='<%# (Convert.ToBoolean(Eval("FAQ_ActiveStatus"))) ? "Active" : "Inactive" %>'
                                        Text="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"></asp:Label>
                                </ItemTemplate>
                                <ItemStyle HorizontalAlign="Center" VerticalAlign="Top" Width="60px" />
                                <HeaderStyle HorizontalAlign="Center" VerticalAlign="Top" Width="60px" />
                            </telerik:TreeListTemplateColumn>
                            <telerik:TreeListTemplateColumn DataField="FAQ_ActiveStatus" HeaderText="Action"
                                UniqueName="ActiveStatus">
                                <ItemTemplate>
                                    <asp:ImageButton ID="ActiveInactiveButton" runat="server" ToolTip='<%# (Convert.ToBoolean(Eval("FAQ_ActiveStatus"))) ? "Make inactive" : "Make active" %>'
                                        Width="14px" Height="14px" CommandName="ActiveInactive" ImageUrl='<%# (Convert.ToBoolean(Eval("FAQ_ActiveStatus"))) ? "../App_Themes/ELPISCMS/images/inactive.png" : "../App_Themes/ELPISCMS/images/active.png" %>' />
                                </ItemTemplate>
                                <ItemStyle HorizontalAlign="Center" VerticalAlign="Top" Width="60px" />
                                <HeaderStyle HorizontalAlign="Center" VerticalAlign="Top" Width="60px" />
                            </telerik:TreeListTemplateColumn>
                        </Columns>
                        <EditFormSettings EditFormType="Template" PopUpSettings-Width="100%">
                            <FormTemplate>
                                <asp:Panel ID="DetailsPanel" runat="server" DefaultButton="SaveRadButton">
                                    <table border="0" cellpadding="0" cellspacing="5" class="innertable">
                                        <tr>
                                            <td class="td18">
                                                Title : <span class="mandatorymark">*</span>
                                            </td>
                                            <td class="td82">
                                                <telerik:RadTextBox ID="FAQTitleRadTextBox" runat="server" SkinID="FAQTitleRadTextBox">
                                                </telerik:RadTextBox>
                                                <asp:RequiredFieldValidator ID="ReferenceTitleRequiredFieldValidator" runat="server"
                                                    ValidationGroup="FAQValidationGroup" Display="Dynamic" SetFocusOnError="true"
                                                    ControlToValidate="FAQTitleRadTextBox" CssClass="requiredfield" ErrorMessage="Required!"></asp:RequiredFieldValidator>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td class="td18">
                                                Description : <span class="mandatorymark">*</span>
                                            </td>
                                            <td class="td82">
                                                <telerik:RadTextBox ID="FAQDescriptionRadTextBox" runat="server" TextMode="MultiLine"
                                                    Rows="8" SkinID="FAQDescriptionRadTextBox">
                                                </telerik:RadTextBox>
                                                <%-- <telerik:RadEditor ID="ReferenceDescriptionRadEditor" runat="server" AutoResizeHeight="false"
                                                    EnableResize="false" OnClientLoad="OnClientLoad" EditModes="Design, Html" AllowScripts="false"
                                                    ContentFilters="RemoveScripts,MakeUrlsAbsolute,FixUlBoldItalic,FixEnclosingP,IECleanAnchors,MozEmStrong,ConvertFontToSpan,ConvertToXhtml,IndentHTMLContent"
                                                    NewLineBr="true" StripFormattingOptions="AllExceptNewLines" StripFormattingOnPaste="AllExceptNewLines"
                                                    Height="600px" Width="700px">
                                                    <ImageManager ViewPaths="~/uploads/editoruploadimages" UploadPaths="~/uploads/editoruploadimages"
                                                        DeletePaths="~/uploads/editoruploadimages" />
                                                    <CssFiles>
                                                        <telerik:EditorCssFile Value="" />
                                                    </CssFiles>
                                                    <ContextMenus>
                                                        <telerik:EditorContextMenu Enabled="true">
                                                            <telerik:EditorTool Name="Cut" />
                                                            <telerik:EditorTool Name="Copy" />
                                                            <telerik:EditorTool Name="Paste" />
                                                        </telerik:EditorContextMenu>
                                                    </ContextMenus>
                                                    <Tools>
                                                        <telerik:EditorToolGroup>
                                                            <telerik:EditorTool Name="AjaxSpellCheck" />
                                                            <telerik:EditorTool Name="FindAndReplace" />
                                                            <telerik:EditorTool Name="SelectAll" />
                                                            <telerik:EditorTool Name="Cut" />
                                                            <telerik:EditorTool Name="Copy" />
                                                            <telerik:EditorTool Name="Paste" />
                                                            <telerik:EditorTool Name="Redo" />
                                                            <telerik:EditorTool Name="Undo" />
                                                            <telerik:EditorTool Name="InsertLink" />
                                                        </telerik:EditorToolGroup>
                                                        <telerik:EditorToolGroup>
                                                            <telerik:EditorTool Name="Bold" />
                                                            <telerik:EditorTool Name="Italic" />
                                                            <telerik:EditorTool Name="Underline" />
                                                        </telerik:EditorToolGroup>
                                                        <telerik:EditorToolGroup>
                                                            <telerik:EditorTool Name="FontName" />
                                                            <telerik:EditorTool Name="RealFontSize" />
                                                            <telerik:EditorTool Name="ApplyClass" />
                                                        </telerik:EditorToolGroup>
                                                        <telerik:EditorToolGroup>
                                                            <telerik:EditorTool Name="ForeColor" />
                                                            <telerik:EditorTool Name="BackColor" />
                                                            <telerik:EditorTool Name="FormatStripper" />
                                                        </telerik:EditorToolGroup>
                                                        <telerik:EditorToolGroup>
                                                            <telerik:EditorTool Name="InsertAnchor" />
                                                            <telerik:EditorTool Name="InsertCustomLink" />
                                                            <telerik:EditorTool Name="InsertDate" />
                                                            <telerik:EditorTool Name="InsertGroupbox" />
                                                            <telerik:EditorTool Name="InsertHorizontalRule" />
                                                            <telerik:EditorTool Name="InsertUnorderedList" />
                                                            <telerik:EditorTool Name="InsertOrderedList" />
                                                            <telerik:EditorTool Name="Paragraph" />
                                                            <telerik:EditorTool Name="InsertTable" />
                                                            <telerik:EditorTool Name="InsertSnippet" />
                                                        </telerik:EditorToolGroup>
                                                        <telerik:EditorToolGroup>
                                                            <telerik:EditorTool Name="Indent" />
                                                            <telerik:EditorTool Name="Outdent" />
                                                            <telerik:EditorTool Name="JustifyRight" />
                                                            <telerik:EditorTool Name="JustifyLeft" />
                                                            <telerik:EditorTool Name="JustifyCenter" />
                                                        </telerik:EditorToolGroup>
                                                        <telerik:EditorToolGroup>
                                                            <telerik:EditorTool Name="LinkManager" />
                                                            <telerik:EditorTool Name="ImageManager" />
                                                            <telerik:EditorTool Name="ImageMapDialog" />
                                                            <telerik:EditorTool Name="DocumentManager" />
                                                            <telerik:EditorTool Name="ConvertToLower" />
                                                            <telerik:EditorTool Name="ConvertToUpper" />
                                                            <telerik:EditorTool Name="ToggleScreenMode" />
                                                        </telerik:EditorToolGroup>
                                                    </Tools>
                                                </telerik:RadEditor>
                                                <div style="float: right;">
                                                    <span id="counter" style="text-align: right;"></span>
                                                </div>--%>
                                                <asp:RequiredFieldValidator ID="FAQDescriptionRequiredFieldValidator" runat="server"
                                                    ValidationGroup="FAQValidationGroup" Display="Dynamic" SetFocusOnError="true"
                                                    ControlToValidate="FAQDescriptionRadTextBox" CssClass="requiredfield" ErrorMessage="Required!"></asp:RequiredFieldValidator>
                                            </td>
                                        </tr>
                                        <td class="td18">
                                            Upload Document : <span class="mandatorymark">*</span>
                                        </td>
                                        <td class="td82">
                                            <telerik:RadUpload ID="UploadDocumentRadUpload" runat="server" ControlObjectsVisibility="AddButton,RemoveButtons"
                                                InputSize="50" AllowedFileExtensions=".png,.jpg,.jpeg,.gif" oncontextmenu="return false;"
                                                onpaste="return false;" ReadOnlyFileInputs="true"/>
                                            <span style="line-height: 15px; vertical-align: top;">
                                                <asp:Label ID="ImageExtensionLabel" runat="server" Text="<br/>(Only .PNG,.JPG,.JPEG,.GIF images allowed)" />
                                                <br />
                                                <asp:Label runat="server" ID="ImageNameLabel" Visible="false" />
                                            </span>
                                            <br />
                                            <telerik:RadProgressArea ID="UploadDocumentRadProgressArea" runat="server" ProgressIndicators="CurrentFileName">
                                            </telerik:RadProgressArea>
                                            <asp:CustomValidator ID="IsFilesSelectedCustomValidator" runat="server" ClientValidationFunction="IsFilesSelected"
                                                Display="Dynamic" SetFocusOnError="true" CssClass="requiredfield" ValidationGroup="FAQValidationGroup"
                                                ErrorMessage="Required!"></asp:CustomValidator>
                                            <asp:CustomValidator ID="ValidateExtensionCustomValidator" runat="server" ClientValidationFunction="validateImageRadUpload"
                                                Display="Dynamic" SetFocusOnError="true" CssClass="requiredfield" ValidationGroup="FAQValidationGroup"
                                                ErrorMessage="<br/>(Only .PNG,.JPG,.JPEG,.GIF images allowed)"></asp:CustomValidator>
                                        </td>
                                        <tr>
                                            <td>
                                                &nbsp;
                                            </td>
                                            <td class="td82">
                                                <telerik:RadGrid ID="FilesRadGrid" runat="server" AllowFilteringByColumn="True" AllowPaging="True"
                                                    AllowSorting="True" AutoGenerateColumns="False" CellSpacing="0" DataSourceID="FilesSqlDataSource"
                                                    GridLines="None" Width="530px" Visible="false" OnItemCommand="FilesRadGrid_ItemCommand">
                                                    <MasterTableView DataKeyNames="FAQ_Uploads_ID" DataSourceID="FilesSqlDataSource">
                                                        <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
                                                            <HeaderStyle Width="20px" />
                                                        </RowIndicatorColumn>
                                                        <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
                                                            <HeaderStyle Width="20px" />
                                                        </ExpandCollapseColumn>
                                                        <Columns>
                                                            <telerik:GridBoundColumn DataField="FileName" FilterControlAltText="Filter FileName column"
                                                                HeaderText="File Name" SortExpression="FileName" UniqueName="FileName" FilterControlWidth="80%">
                                                                <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                                                                <ItemStyle HorizontalAlign="Left" Font-Size="11px" Font-Names="Arial" VerticalAlign="Middle" />
                                                            </telerik:GridBoundColumn>
                                                            <telerik:GridTemplateColumn HeaderText="Action" AllowFiltering="false">
                                                                <ItemTemplate>
                                                                    <asp:ImageButton ID="DeleteImageButton" runat="server" ToolTip="Delete" CommandName="Del"
                                                                        ImageUrl="~/App_Themes/ELPISCMS/images/delete.png" OnClientClick="if (!confirm('Are you sure, you want to delete this record?')) {return false;}"
                                                                        CommandArgument='<%# Eval("FAQ_Uploads_ID") +":"+ Eval("FAQ_Uploads_ID") %>' />
                                                                </ItemTemplate>
                                                                <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="50px" />
                                                                <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="50px" />
                                                            </telerik:GridTemplateColumn>
                                                        </Columns>
                                                        <EditFormSettings>
                                                            <EditColumn FilterControlAltText="Filter EditCommandColumn column" />
                                                        </EditFormSettings>
                                                    </MasterTableView>
                                                    <FilterMenu EnableImageSprites="False" />
                                                    <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default" />
                                                </telerik:RadGrid>
                                                <asp:SqlDataSource ID="FilesSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:elpis_cmsConnectionString %>"
                                                    SelectCommand="Usp_FAQ_Uploads_Select" SelectCommandType="StoredProcedure">
                                                    <SelectParameters>
                                                        <asp:ControlParameter ConvertEmptyStringToNull="true" ControlID="FAQIDHiddenField"
                                                            DbType="Int32" Name="FAQ_ID" PropertyName="Value" />
                                                    </SelectParameters>
                                                </asp:SqlDataSource>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td class="td18">
                                                Status :
                                            </td>
                                            <td class="td82">
                                                <asp:RadioButton ID="ActiveRadioButton" runat="server" CssClass="radiobutton" Checked="true"
                                                    GroupName="ActiveInactive" />Active
                                                <asp:RadioButton ID="InactiveRadioButton" runat="server" CssClass="radiobutton" GroupName="ActiveInactive" />Inactive
                                            </td>
                                        </tr>
                                        <tr>
                                            <td>
                                                &nbsp;
                                            </td>
                                            <td class="td82">
                                                <telerik:RadButton ID="SaveRadButton" runat="server" Text='<%# (Container is TreeListEditFormInsertItem) ? "Save" : "Update" %>'
                                                    CausesValidation="true" CommandName='<%# (Container is TreeListEditFormInsertItem) ? "PerformInsert" : "Update" %>'
                                                    ValidationGroup="FAQValidationGroup" Width="80px">
                                                    <Icon PrimaryIconUrl="~/App_Themes/ELPISCMS/images/save2.png" PrimaryIconLeft="5"
                                                        PrimaryIconTop="3" />
                                                </telerik:RadButton>
                                                <telerik:RadButton ID="CancelRadButton" runat="server" Text="Cancel" CommandName="Cancel"
                                                    CausesValidation="false" Width="80px">
                                                    <Icon PrimaryIconUrl="~/App_Themes/ELPISCMS/images/cancel2.png" PrimaryIconLeft="5"
                                                        PrimaryIconTop="3" />
                                                </telerik:RadButton>
                                            </td>
                                        </tr>
                                    </table>
                                </asp:Panel>
                            </FormTemplate>
                        </EditFormSettings>
                        <ClientSettings AllowItemsDragDrop="true">
                            <Selecting AllowItemSelection="True" />
                        </ClientSettings>
                    </telerik:RadTreeList>
                    <asp:SqlDataSource ID="FAQSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:elpis_cmsConnectionString %>"
                        SelectCommand="Usp_FAQ_Select" SelectCommandType="StoredProcedure"></asp:SqlDataSource>

谁能帮我 ?

谢谢

4

0 回答 0