我在.aspx页面中使用了一个.cs文件,如下所示:
<%@ Register TagPrefix="PreSurvey" Assembly="abc" Namespace="FView.CC" %>
它将一些控件绑定到我的页面,现在它在第一次加载页面时加载,但我想在检查了我的.cs文件中的一些条件后使用它,因为一开始没有传递任何参数,所以它抛出了类似"找到多个具有相同id"0"的控件"的错误
我在.aspx页面中使用的文件如下
<div id="div" style="display: none;">
<PreSurvey:PreSurvey
ID="customPreSurvey" ForeColor="Black" SurveyId="0"
IsPreview="false" runat="server" />
</div>
您的程序集注册很好。您可以使用asp:Panel
而不是div来将控件添加到aspx文件中,然后可以在Page_Init
上加载控件(使用init而不是page_load加载控件可以获得更可预测的结果)。像这样:
protected override void OnInit(EventArgs e)
{
// first check your conditions, then:
PreSurvey customPresurvey = new PreSurvey
{
ID = "customPreSurvey",
ForeColor = Color.Black,
SurveyId = [your survey id],
IsPreview = false
};
div.Controls.Add(item);
base.OnInit(e);
}