在c#.net中注册程序集



我在.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);
    }

最新更新