Деплой ascx
От: nickstaves Украина  
Дата: 21.10.11 08:03
Оценка:
Доброе!

Есть проблема с сабжем.
Разработал значит я сложный ascx, в котором в частности в ascx части нахолятся контролы:
...
<asp:UpdatePanel ID="m_UpdatePanel" runat="server">
    <ContentTemplate>
        <asp:Panel id="m_pnlMainView" runat="server">
        ....
        </asp:Panel>
        <asp:Panel id="m_pnlErrorView" runat="server">You are not authorized to view this content. Please contact system administrator.</asp:Panel>
    </ContentTemplate>
</asp:UpdatePanel>

В ascx.cs:
        protected void Page_Load(object sender, EventArgs e)
        {
            if (CheckAccess())
            {
                m_pnlErrorView.Visible = false;
                m_pnlMainView.Visible = true;
                ....
            }
         }

Все пишу в 2010 студии. Протестировал, все работает как надо. Паблишу его в отдельные DLL, подключаю эти DLL в тестовый сайт, делаю референс
<%@ Register assembly="App_Web_swfcourse.ascx.cdcab7d2" namespace="MyNamespace" tagprefix="uc1" %>
потом ложу контрол на форму
<body>
    <form id="form1" runat="server">
    <div>
        <uc1:MyControl runat="server" />
    
    </div>
    </form>
</body>

Запускаю и получаю System.NullReferenceException: Object reference not set to an instance of an object. at MyNamespace.MyControl.Page_Load(Object sender, EventArgs e)
После добавления трейсов выясняется, что CheckAccess() в коде отрабатывает нормально а вот панелька m_pnlErrorView есть NULL. Вопрос — почему?
Делал все в соответствии с
http://msdn.microsoft.com/en-us/library/aa479318.aspx

Но явно либо чего-то недоделал либо чего-то недопонимаю.

С уважением,
nickstaves
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.