父容器不可见时的 ASPX 内联代码评估
给定以下内联 aspx c# 代码,如果父面板 (pnlX) 在页面加载事件中将其可见性属性设置为 false,是否会命中内联代码?
<asp:Panel ID="pnlX" runat="server">
<h1>Value is: <%= objectX.prop %></h1>
</asp:Panel>
我问的原因是存在一些条件逻辑(如下),其中一条路径将 objectX 对象设置为某物。另一个路径没有,同时将 plnX.Visibility 设置为 false。我的问题是我仍然在 objectX 上收到空引用异常。
objectX = null;
if (true)
{
objectX = something..
}
else
{
pnlX.Visible = false;
}
塔
given the following in-line aspx c# code, if the parent panel (pnlX) had its visibility property set to false in the page load event, would the in-line code be hit?
<asp:Panel ID="pnlX" runat="server">
<h1>Value is: <%= objectX.prop %></h1>
</asp:Panel>
The reason i ask is that there is some conditional logic (below) where one path sets the objectX object to something. The other path does not and at the same time sets plnX.Visibility to false. My problem is that i am still getting null reference exceptions on objectX.
objectX = null;
if (true)
{
objectX = something..
}
else
{
pnlX.Visible = false;
}
Ta
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否尝试过在 .aspx 文件中使用
Visible="false"
声明面板,然后在代码中将Visible
设置为false 如果您不需要面板,请将其设置为
true
如果需要?我相信这会解决您的空引用问题。Have you tried declaring the Panel with
Visible="false"
in the .aspx file, and then, in your code, instead of settingVisible
tofalse
if you don't need the panel, set it totrue
if you do? I believe that will get around your problem of the null reference.