【问题标题】:Keep file name in FileUpload control after postBackpostBack 后将文件名保留在 FileUpload 控件中
【发布时间】:2011-12-05 22:17:09
【问题描述】:

我遇到了 FileUpload 控件的问题。我有这个,两个下拉列表,文本框和按钮。如果我在第一个 dropDownList 中选择“是”,第二个将变为禁用并在 NO 上设置值(在第二个 ddl 中,我有两个选项 YES 或 NO,在第一个选项中也是如此)但是,如果我在第一个 dropDownList 中选择 NO,我可以选择这两个选项在第二个下拉列表中。第一个 ddl 使用 selectedIndexChanged evet 在 postBack 上更改第二个,当它发生时,我在 UploadFile 控件中丢失了我之前设置的文件名。

代码示例:

<asp:FileUpload ID="fuUploadGeometry" runat="server" Width="100%" />
<asp:DropDownListID="ddlSymmetry"runat="server" AutoPostBack="true"
      onselectedindexchanged="ddlSymmetry_SelectedIndexChanged">
                    <asp:ListItem Value="0">-- Select --</asp:ListItem>
                    <asp:ListItem Value="true">Yes</asp:ListItem>
                    <asp:ListItem Value="false">No</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlModule" runat="server" Enabled="True">
                    <asp:ListItem Text="-- Select --" Value="0"/>
                    <asp:ListItem Text="Yes" Value="1"  />
                    <asp:ListItem Text="No" Value="2"/>
                </asp:DropDownList>
<asp:TextBox ID="txtTopic" runat="server"></asp:TextBox>

在更改下拉列表中的选定选项期间,我应该如何将文件名保留在 UploadFile 控件中?

【问题讨论】:

    标签: asp.net file-upload


    【解决方案1】:

    试试这个,我添加了标签,这样你就可以看到 onselectedindexchange 的回发只影响下拉而不是文件上传控件,希望这有帮助。

            <asp:FileUpload ID="fuUploadGeometry" runat="server" Width="100%" />
    
          <asp:UpdatePanel ID="UpdatePanel1" runat="server">
              <ContentTemplate>
            <asp:DropDownList ID="ddlSymmetry" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlSymmetry_SelectedIndexChanged">
                <asp:ListItem Value="0">-- Select --</asp:ListItem>
                <asp:ListItem Value="true">Yes</asp:ListItem>
                <asp:ListItem Value="false">No</asp:ListItem>
            </asp:DropDownList>
            <asp:DropDownList ID="ddlModule" runat="server" Enabled="True">
                <asp:ListItem Text="-- Select --" Value="0" />
                <asp:ListItem Text="Yes" Value="1" />
                <asp:ListItem Text="No" Value="2" />
            </asp:DropDownList>
            <asp:TextBox ID="txtTopic" runat="server"></asp:TextBox>
                  <asp:Label runat="server" ID="msgFromList" />
                  </ContentTemplate>
              </asp:UpdatePanel>
    

    protected void ddlSymmetry_SelectedIndexChanged(Object sender, EventArgs e) { msgFromList.Text = ddlSymmetry.SelectedItem.Value.ToString(); }

    【讨论】:

      【解决方案2】:

      首先请记住,如果您的网页上发生任何回发事件,FileUpload Control 将变为空。所以最好的解决方案是将你的文件上传控制放在所有可能导致回发的控制之后,比如下拉列表。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-05
        • 2012-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-26
        • 1970-01-01
        相关资源
        最近更新 更多