从另一个客户端事件调用客户端事件

时间:2012-03-28 19:49:35

标签: asp.net gridview client-side webforms

ASP.net(C#),VS2010,Win 7。

WebDev的新手,所以这可能是一个简单的语法,但在这里......

长话短说我必须在GridView上强制回发,它显示我使用ASPxUploadControl上传的附件。我把GridView放在一个ASPxCallbackPanel中,并试图在使用ASPxCallbackPanel.PerformCallback()上传附件后让我的GridView在页面上更新;

这是“上传”控件,其中包含' ClientSideEvent是我尝试从下面显示的Button调用clientSideEvent的地方。只是试图强行按下一个按钮,但我尝试从代码隐藏中做到这一点但是没有用。任何帮助,将不胜感激!

 <dxuc:ASPxUploadControl ID="FileUpload1" runat="server" 
        ClientInstanceName="uploader"  
        ShowAddRemoveButtons="False" 
        ShowUploadButton="True" 
        AddUploadButtonsHorizontalPosition="Center" 
        AddUploadButtonsVerticalPosition="Top" FileInputCount="1" 
        UploadMode="Advanced" 
        OnFileUploadComplete="UploadControl_FileUploadComplete"

        Size="30">
        <ClientSideEvents FileUploadComplete="function(s, e) { Button1.Click; }" />
        <%-- <AdvancedModeSettings EnableMultiSelect="True" />  "does not have public property named "advancedModeSettings" version is too old--%>
        <ValidationSettings
            AllowedFileExtensions=".doc,.pdf,.xls,.txt,.jpeg,.jpg,.gif,.png,.oft,.htm,.html,.mht,.rtf,.zip"
            MaxFileSize="5242880"
            FileDoesNotExistErrorText="This file can't be found." 
            GeneralErrorText="Custom file uploading fails due to an external error that doesn't relate to the ASPxUploadControl's functionality" 
            MaxFileSizeErrorText="Size of the uploaded file exceeds maximum file size"> 
            <ErrorStyle ForeColor="Red"/>

       </ValidationSettings> 
     </dxuc:ASPxUploadControl>

这是GridView以及我成功刷新网格的按钮。

<div>
        <dxe:ASPxButton ID="ASPxButton1" runat="server" ClientInstanceName="Button1" Text="Reload Panel" AutoPostBack="False">
            <ClientSideEvents Click="function(s, e) {ASPxCallbackPanel1.PerformCallback(); e.processOnServer = true;}" />
        </dxe:ASPxButton>
         <dx:ASPxCallbackPanel ID="ASPxCallbackPanel1" runat="server" 
             ClientInstanceName="ASPxCallbackPanel1" Width="492px" 
            Height="100%">
            <PanelCollection>
            <dx:PanelContent runat="server">   

                <asp:GridView ID="gvAttachment" SkinID="grid" runat="server" Width="98%"

                OnRowDataBound="AttachmentControl_OnRowDataBound"

                meta:resourcekey="gvAttachResource1"
                PagerSettings-FirstPageText="<%$ Resources:CommonControlText,FirstPageText %>"
                PagerSettings-LastPageText="<%$ Resources:CommonControlText,LastPageText %>"
                PagerSettings-PreviousPageText="<%$ Resources:CommonControlText,PreviousPageText %>"
                PagerSettings-NextPageText="<%$ Resources:CommonControlText,NextPageText %>" 
                   AutoGenerateColumns="False">
                <EmptyDataRowStyle CssClass="emptyData" />
                <EmptyDataTemplate>
                    <table class="usercontroldetail container_table">
                        <tr>
                            <td class="tdlayout">
                                <asp:Label ID="Localize1" runat="server">
                                    <%= Placeholder %>
                                </asp:Label>
                            </td>
                        </tr>
                    </table>
                </EmptyDataTemplate>
                <Columns>
                    <asp:BoundField DataField="AtchmtId" HeaderText="Attachment ID" 
                        visible = "false" meta:resourcekey="BoundFieldResource1">
                        <ItemStyle HorizontalAlign="Center" />
                    </asp:BoundField>
                    <asp:BoundField  DataField ="FileNm" HeaderText="File Name" />
                    <asp:BoundField DataField="UsrNm" HeaderText="Uploaded By" 
                         />
                    <asp:BoundField DataField="AtchmtDt" HeaderText="Date" 
                         />
                    <asp:BoundField DataField="FileSizeCnt" HeaderText="File Size" 
                         />
                    <asp:TemplateField AccessibleHeaderText="Actions" HeaderText="Actions">
                        <ItemTemplate>
                            <div style="text-align:center;">
                                <asp:LinkButton ID="btnDelete" Visible="False" runat="server"
                                    ToolTip="Delete Selected Attachment"
                                    OnClick="btnDelete_Click"
                                    Text="Delete" CausesValidation="True" DisableOnSubmit="True" Group="" 
                                    meta:resourcekey="btnDeleteResource1" />
                                <asp:Label ID="lblPipe" runat="server" Text="|" />
                                <asp:LinkButton ID="btnView" Visible="False" runat="server"
                                    ToolTip="View Selected Attachment"
                                    OnClick="btnView_Click"
                                    Text="View" CausesValidation="True" DisableOnSubmit="True" Group="" 
                                    meta:resourcekey="btnViewResource1" />
                            </div>
                        </ItemTemplate>
                        <ItemStyle Wrap="false" />
                    </asp:TemplateField>
                </Columns>

        <%--<PagerSettings FirstPageText="First" LastPageText="Last" NextPageText="Next &gt;" PreviousPageText="&lt; Previous"></PagerSettings>--%>

                <RowStyle CssClass="row_odd" />
                <AlternatingRowStyle CssClass="row_even" />
            </asp:GridView>
            </dx:PanelContent>
            </PanelCollection>
          </dx:ASPxCallbackPanel>

仅供参考:GridView正在获取新的附件。我只是没有在页面上看到它,因为UploadControl只会更新自己。

编辑:想象它只是使用OnClick()方法,如下所示。 DERP。忘了ASPx按钮继承了所有的ASP按钮方法。但是现在我最初制作按钮隐形的计划似乎被挫败了。调用Button1.OnClick()时,Button的Visible属性设置为&#34; false&#34;。它说Button1没有定义。不管怎么说?

<ClientSideEvents FileUploadComplete="function(s, e) { Button1.OnClick(); }" />

1 个答案:

答案 0 :(得分:0)

如果我找到了你,你可以通过名为a updateMode 的属性(条件,始终)操纵页面上所有更新面板的行为。如果所有模式都设置为“始终”,则更改一个updatepanel将导致刷新所有内容。