C# 在中继器中寻址文件上载
所以我把我的文件上传到了我的转发器里C# 在中继器中寻址文件上载,c#,asp.net,.net,linq,C#,Asp.net,.net,Linq,所以我把我的文件上传到了我的转发器里 <asp:Content ID="Content3" ContentPlaceHolderID="content" Runat="Server"> <asp:Repeater ID="rptVrijstellingen" runat="server"> <HeaderTemplate></HeaderTemplate> <ItemTemplate>
<asp:Content ID="Content3" ContentPlaceHolderID="content" Runat="Server">
<asp:Repeater ID="rptVrijstellingen" runat="server">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<h2><%# Eval("tblExternVak.ExternvakNaam") %></h2>
<h4>Selecteer een bestand om te uploaden:</h4>
Gelieve het bestand de naam te geven van het overeenkomstige vak om de verwerking
vlot te laten verlopen.
<br /><br /> <br />
<asp:FileUpload id="FileUpload1"
runat="server">
</asp:FileUpload>
<br /><br />
<hr />
<br />
<br />
<asp:Button id="UploadButton"
Text="Upload file"
OnClick="UploadButton_Click"
runat="server">
</asp:Button>
<br />
<br />
</ItemTemplate>
<SeparatorTemplate><hr /></SeparatorTemplate>
</asp:Repeater>
<asp:CheckBox id="CBupload" runat="server" />
<asp:Label id="lblUpload" runat="server"> Geleverd aan Mevrouw Van Orlé</asp:Label>
<asp:Label id="UploadStatusLabel" runat="server" ForeColor="Red"></asp:Label>
</asp:Content>
问题是它在转发器中找不到fileupload1和任何其他声明的内容,有人能给我一个如何在转发器中处理上传的解决方案吗?(我用页面加载中的数据填充中继器,使其存在于加载中,以便我知道这不是问题所在)
提前感谢:)您必须迭代Repeater控件的Items集合,并使用
FindControl
方法获取FileUpload1
对象的引用
foreach (RepeaterItem item in rptVrijstellingen.Items)
{
FileUpload file=(FileUpload)item.FindControl("FileUpload1");
String fileName = file.FileName;
FileUpload1.SaveAs(Server.MapPath(savePath + fileName));
....
}
使用
rptVrijstellingen.Items[rowNumber].FindControl(“FileUpload1”)作为FileUpload
其中rowNumber
是您要访问的行数。您能举个小例子吗?我对c有点陌生:$Tyvm非常好,我可以给你一个+1,但我是新的:(@ToonVanDooren-谢谢!看看Meta-FAQ和
foreach (RepeaterItem item in rptVrijstellingen.Items)
{
FileUpload file=(FileUpload)item.FindControl("FileUpload1");
String fileName = file.FileName;
FileUpload1.SaveAs(Server.MapPath(savePath + fileName));
....
}