1

ASP.NETファイルアップロードコントロールを使用しようとすると問題が発生します。何が起こっているのかというと、コードビハインドからファイルアップロードコントロールを呼び出すと、常にFileUploadControl.HasFile=falseが返されます。私はいくつかの調査を実施し、無駄にさまざまな方法を試しました。コントロールは、次のシナリオで使用されています。コントロールは、JQueryによってポップアップダイアログとして呼び出されるdivに含まれています。fileuploadコントロールと一緒に、前述のコントロールを操作する2つのリンクボタンがあります(ファイルからのXMLのインポートと操作)。

ありがとう。

以下は私のコードのサンプルです。

<asp:scriptmanager id="ScriptManager1" runat="server">
    </asp:scriptmanager>
<div style="text-align: center; margin-left: auto; margin-right: auto">
    <asp:fileupload id="FileUploadControl" runat="server" />
    <asp:updatepanel runat="server">
                <ContentTemplate>                    
                    &nbsp;
                    <asp:LinkButton ID="Append" runat="server" Text="Append" OnClick="Append_Click"></asp:LinkButton>
                    &nbsp;
                    <asp:LinkButton ID="Overwrite" runat="server" Text="Overwrite" OnClick="Overwrite_Click"></asp:LinkButton>
                </ContentTemplate>
                <Triggers>
                    <asp:PostBackTrigger ControlID="Append" />
                    <asp:PostBackTrigger ControlID="Overwrite" />
                </Triggers>
            </asp:updatepanel>
</div>
4

1 に答える 1

1

を削除する必要がありUpdatePanelます。部分的なポストバックでファイルをアップロードすることはできません。UpdatePanelトリガーにすべてがある場合は、ファイルのアップロードは必要ありません。

<div style="text-align: center; margin-left: auto; margin-right: auto">
    <asp:fileupload id="FileUploadControl" runat="server" /> 
        &nbsp;
        <asp:LinkButton ID="Append" runat="server" Text="Append" OnClick="Append_Click"></asp:LinkButton>
        &nbsp;
        <asp:LinkButton ID="Overwrite" runat="server" Text="Overwrite" OnClick="Overwrite_Click"></asp:LinkButton>
</div>

注:UpdatePanel開発に関する一般的なヒント。意味をなさない奇妙なことに遭遇した場合は、を削除しUpdatePanelてコードをテストしてください。UpdatePanelには、ページ/コントロールの複雑さに応じて多くの制限があります。

于 2012-07-17T14:23:15.817 に答える