从后面的代码获取loginview中的文件输入

时间:2012-12-12 09:46:16

标签: c# asp.net file-upload loginview htmlcontrols

我正在尝试创建文件上传,并且正在使用HTML控件输入(文件)。由于此控件位于loginview中,因此无法直接在后面的代码中访问它,并且必须使用FindControl函数,如下所示:

this.LoginView1.FindControl("file_img_upload")

问题是,我需要对控件进行类型转换才能访问PostedFile属性。由于Input是一个HTML控件,你似乎无法像使用Button那样对它进行类型转换。

有没有办法对此控件进行类型转换或以其他方式访问它?

这是控件嵌入在loginview中的方式:

<asp:LoginView ID="LoginView1" runat="server">
  <AnonymousTemplate>
    <p>U heeft geen toegang tot deze pagina als u niet ingelogd bent.</p>
  </AnonymousTemplate>
  <LoggedInTemplate>
    <div class="fifth">
       <input id="file_img_upload" type="file" enctype="multipart/form-data"/>
       <asp:Button ID="btn_img_upload" runat="server" Text="Upload" 
                                    OnClick="btn_img_upload_Click"/>  
       <asp:Image ID="img_img_upload" runat="server" />
       <asp:Label ID="lbl_img_output" runat="server"  Text="Label"></asp:Label> 
    </div>
  </LoggedInTemplate>
</asp:LoginView>  

2 个答案:

答案 0 :(得分:0)

更容易使用ASP FileUpload Control,可以从后面的代码访问。

答案 1 :(得分:0)

如果添加runat =“server”属性,您将找到System.Web.UI.HtmlControls.HtmlInputFile控件。

<input id="file_img_upload" type="file" enctype="multipart/form-data" runat="server" />