【问题标题】:Event handler not initialize on initialization事件处理程序未在初始化时初始化
【发布时间】: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 事件在回发时被触发。但由于某种原因,它没有被调用。但是当我将控件直接剪切并粘贴到&lt;asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"&gt; 的内容中时,事件处理程序会被正确触发。起初我以为是因为在控件初始化后添加了生成的内容,在调用Page_Load时添加了流派内容,因此telerik控件没有正确初始化。因此,我将代码移至Page_Preinit,但仍未调用该事件。有什么我想念的吗?还是在页面生命周期之前初始化控件时我做不到?

【问题讨论】:

    标签: asp.net telerik asp.net-webcontrol


    【解决方案1】:

    在您的标记中使用 ParseControl 和已定义的 Event-Handlers 将不起作用。

    您需要解析/添加控件,然后在代码中添加事件处理,如下所示:

    tContent.Controls.Add(master.ParseControl(ApplyXslt(xml, xsl_trans, xsl_args)));
    RadAsyncUpload uploadControl = (RadAsyncUpload)tContent.FindControl("AsyncUpload1");
    uploadControl.FileUploaded += AsyncUpload1_FileUploaded; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多