我的FileUpload没有显示任何文件的任何想法?

时间:2017-04-12 23:35:05

标签: asp.net vb.net file-upload telerik radgrid

我有一个简单的FileUpload框,可以接受文件并将它们保存到一个网页上服务器上的某个位置,但我正在处理的页面现在有一个radPageView内部的表单视图, RadMultiPageView。当我试图查看FileUpload控件中是否有文件时,每次都会遇到空值,尽管我正在加载文件。以下是我的代码的一些片段,稍微减少了一些。部分问题在于,我在网上找到的所有教程中,用户都在vb中输入了一些关于按钮点击事件的信息,我在xyz Handles .Updating部分输入了该信息。

我遇到的问题是,当我到达FileUpload1.HasFile时,它显示没有文件,即使我已经上传了一个文件。实际上,它显示Null,好像我没有正确连接到FileUpload控件。我用不同的方式搞砸了连接到FileUpload控件,但没有一个真正起作用。

    <telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0" CssClass="multiPage"
        BorderColor="Black" BorderStyle="Solid">
        <telerik:RadPageView ID="pvMemoDoc" runat="server">
            <asp:FormView ID="fvMemoDoc" runat="server" DefaultMode="Edit" DataSourceID="dsMemos"
                DataKeyNames="coreDocID">
                <EditItemTemplate>
                    <table class="tblNoSpace">
                        [...Other Code...]
                        <%--Begin file upload section--%>
                        <tr>

                            <td class="fieldLabel">File to upload:<br />
                            </td>
                            <td>
                                <asp:FileUpload ID="FileUpload1" runat="server" Width="600" ToolTip="Browse for file"   />
                            </td>
                        </tr>
                        <tr>
                            <td colspan="2" style="text-align: right">
                                <asp:Label ID="lblFU1" runat="server" Enabled="false" Visible="false"
                                    Text="(only select new file if you wish to replace existing file)"></asp:Label>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <br />
                                <br />
                                <asp:Button ID="btnUpdateMemo" CommandName="Update" runat="server" Text="Update Memo"
                                    CausesValidation="true" ValidationGroup="MemoInformation"
                                    ToolTip="Save updates" />&nbsp;
                            </td>
                        </tr>
                    </table>
                </EditItemTemplate>
            </asp:FormView>
        </telerik:RadPageView>

        [...Other Code...]

    </telerik:RadMultiPage>

VB代码:

Private Sub DsMemo_Updating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceCommandEventArgs) Handles dsMemos.Updating
    Dim FileUpload1 As FileUpload = CType(fvMemoDoc.FindControl("FileUpload1"), FileUpload)
    'Dim FileUpload1 As FileUpload = CType(fvMemoDoc.Controls(0).Controls(0).FindControl("FileUpload1"), FileUpload)
    'Dim FileUpload1 As FileUpload = CType(fvMemoDoc.Controls(0).FindControl("FileUpload1"), FileUpload)
    'Dim FileUpload1 As FileUpload = TryCast(updateButton.Parent.Parent.FindControl("FileUpload1"), FileUpload)

    If FileUpload1.HasFile Then
        [...Other Code Here..]
        [...Never gets past FileUpload1.HasFile...]
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

经过一些修补后,修改与读/写权限存在问题。 控件的工作方式是它将存储一个临时文件,然后将其从服务器中删除,这就是没有文件显示的原因。

授予Web应用程序修改存储临时文件的文件夹的访问权限解决了我的问题。