【发布时间】:2014-07-24 08:11:47
【问题描述】:
我在页面上有一些控件,但我无法访问后面代码中的控件,它来自科学智能。我找到了原因。
这是我的网页控件的 HTML 代码:
<%@ Control Language="c#" AutoEventWireup="false" Inherits="DNNInfo.Modules.Classifieds.Controls.CompanyClassifiedList" %>
<div id="divDetailsDownloadFile" runat="server" class="DNNInfo_ClassifiedDownloads" visible="false">
<asp:LinkButton ID="linkDownloadFile" Text="Download File" runat="server" />
</div>
我在这里说的是链接按钮。
这是代码背后的代码:
namespace DNNInfo.Modules.Classifieds.Controls
{
public class CompanyClassifiedList : PortalModuleBase
{ override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
try
{
this.Load += new System.EventHandler(this.Page_Load);
LinkButton linkDownload_File = (LinkButton)this.FindControl("linkDownloadFile");
if (linkDownload_File != null)
{
linkDownload_File.Click += new EventHandler(this.linkDownloadFile_Click);
}
}
catch (Exception ex)
{
}
}
}
}
它总是在“linkDownload_File”中返回 null。我无法识别错误。这种行为的原因是什么。
我们将不胜感激。
更新:我已经检查了让 div 可见.. 但它仍然返回 null
【问题讨论】:
-
可能是因为您正在重新渲染 DIV 的 visible = false?
-
@LouisvanTonder 我已经检查过了,不是因为那个
-
您从哪里调用此代码?你不应该指定你的页面吗?或者从页面后面的代码运行它?现在,this.Page 是否等于您的控件所在的实际页面?
-
我不记得控件是否在
InitializeComponent之前初始化。例如,您可以将代码移至Page_Load吗? -
但还有一些其他的控件,它们工作正常......我也对它们进行同样的处理
标签: c# asp.net click web-controls linkbutton