【问题标题】:Div tag throwing null reference exceptiondiv标签抛出空引用异常
【发布时间】:2014-11-19 19:05:41
【问题描述】:

我正在从Code Behind 访问div,但它正在抛出Null reference exception。我处理了一些小事,比如

  • 我的方法不是静态的。
  • 我在NeedDataSourceTelerikRadGrid 事件中访问div

看看我的标记

     <div id="divData" runat="server">
     ---- Some static content
    </div>
    <div id="divAuth" runat="server" class="auth">
    Content
    </div>

我使用它如下

protected void rgrdFiles_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            try
            {
                //Some Logic
                if (Session["accessCode"] == null)
                {
                    if (applyRoles == "1")
                    {
                        divAuth.Visible = true; // Error line
                        divData.Visible = false;
                    }
                    else
                    {
                        divAuth.Visible = false;
                        divData.Visible = true;
                    }
                }
                else if (Utility.IsAuthenticUser(12, Session["accessCode"].ToString()) || applyRoles == "0")
                {
                    divAuth.Visible = false;
                    divData.Visible = true;
                }
                else
                {
                    divAuth.Visible = true;
                    divData.Visible = false;
                }
            }
            catch (Exception ex)
            {
            }
}

debugger 来自Error Line 时,当我将鼠标移到divAuth 上时,我会看到null

【问题讨论】:

  • 请发布您已将div divData 分配给divAuth 的代码。
  • 哦.. 真的很抱歉 :(,感谢您指出我的错误。实际上有两个 div 的。更新的问题。
  • 您能否删除我的问题,因为我的问题已解决但我不记得如何解决了?所以我不能接受任何答案,也不能发布我的……:(

标签: c# asp.net telerik nullreferenceexception servercontrols


【解决方案1】:

divAuth 在您的 HTML 中未提及。还请确保它在服务器上运行并且在同一页面上(不在母版页中)。

我猜,你不能访问数据源事件中的 div。请在 ItemDataBound 事件中隐藏并显示您的 div。

【讨论】:

  • 很抱歉没有发布正确的代码,编辑过的代码。和div 在同一页面上,而不是主页面。
  • 你的 div 是在网格中还是在网格外?
  • 尝试页面或控件的ClientIDMode属性为Static。也试试这个“HtmlGenericControl footer = (HtmlGenericControl)FindControl("footer")”。另外请检查您的项目中是否有任何编译时错误或清理解决方案并再次构建并尝试。希望它应该解决。
  • 我将设置 clientIdMode 但我不明白为什么我应该使用 FindControl 尽管我的控件直接在页面中。当然,没有编译错误。
  • 我猜,你不能访问数据源事件中的 div。请在 ItemDataBound 事件中隐藏并显示您的 div。
猜你喜欢
  • 2021-04-29
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
  • 2011-07-22
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
相关资源
最近更新 更多