【发布时间】:2021-12-17 10:23:56
【问题描述】:
我有一个 aspx 页面和一个代码。页面内容是通过 XML 和 XSLT tContent.Controls.Add(master.ParseControl(ApplyXslt(xml, xsl_trans, xsl_args))); 动态创建的。其中tcontrol 是控件<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">。在 XSLT 中,我有一个 Telerik 控件
<telerik:RadAsyncUpload RenderMode="Lightweight" ID="AsyncUpload1" runat="server"
OnClientFilesUploaded="OnClientFilesUploaded" OnFileUploaded="AsyncUpload1_FileUploaded"
MaxFileSize="2097152" AllowedFileExtensions="jpg,png,gif,bmp"
AutoAddFileInputs="false" Localization-Select="Upload Image" />
<asp:Label ID="Label1" Text="*Size limit: 2MB" runat="server" Style="font-size: 10px;"></asp:Label>
控件有一个名为onFileUploaded 的事件,我将它设置为OnFileUploaded="AsyncUpload1_FileUploaded"。在我的代码后面我有一个这样定义的函数
protected void AsyncUpload1_FileUploaded(object sender, FileUploadedEventArgs e)
{
string newfilename = "logo." + e.File.GetExtension();
string path = "/customer/" + MiscFunctions.currentCustXml+"/"+ newfilename;
e.File.SaveAs(path);
}
我知道onFileUploaded 事件在回发时被触发。但由于某种原因,它没有被调用。但是当我将控件直接剪切并粘贴到<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 的内容中时,事件处理程序会被正确触发。起初我以为是因为在控件初始化后添加了生成的内容,在调用Page_Load时添加了流派内容,因此telerik控件没有正确初始化。因此,我将代码移至Page_Preinit,但仍未调用该事件。有什么我想念的吗?还是在页面生命周期之前初始化控件时我做不到?
【问题讨论】:
标签: asp.net telerik asp.net-webcontrol