Asp.net 在aspx页面中设置div可见性时出现问题

Asp.net 在aspx页面中设置div可见性时出现问题,asp.net,html,visibility,Asp.net,Html,Visibility,我在checkout.aspx页面上有一个div。div的内容如下: <div id="PaymentDetails" runat="server" style="text-align:center" visible="true"> <asp:Label ID="PaymentDetailsLbl" Text="Payment Details:" runat="server" Font-Size="Large"></asp:Label> <

我在checkout.aspx页面上有一个div。div的内容如下:

<div id="PaymentDetails" runat="server" style="text-align:center" visible="true">
    <asp:Label ID="PaymentDetailsLbl" Text="Payment Details:" runat="server" Font-Size="Large"></asp:Label>
    <br />
    <br />
    <br />
    <asp:Label ID="UNameLbl" Text="User Name:" runat="server"></asp:Label>
    &nbsp;
    <asp:Label ID="UNameTextLabel" runat="server" Width="150px"></asp:Label>
    <br />
    <br />
    <asp:Label ID="AmountLbl" Text="Amount:" runat="server"></asp:Label>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <asp:Label ID="AmountTextLabel" runat="server" Width="50px"></asp:Label>
    <br />
    <br />
    <asp:Label ID="CCNumberLbl" Text="Credit Card No:" runat="server"></asp:Label>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <asp:TextBox ID="CCNumberTBox" runat="server"></asp:TextBox>
    <br />
    <br />
    <br />
    <asp:Button ID="SubmitBtn" runat="server" Text="Submit" OnClick="SubmitBtn_Click" />
    <asp:Button ID="ResetBtn" runat="server" OnClick="ResetBtn_Click" Text="Reset" />
    <br />
    <br />
    <asp:Label runat="server" ID="SuccessMessageLabel" ForeColor="Red"></asp:Label>
    <asp:Button ID="SoftwareDownloadsBtn" runat="server" Text="Software Downloads" Visible="false"
        OnClick="SoftwareDownloadsBtn_Click" />
    <br />
    <br />
    <asp:RegularExpressionValidator ID="CCNumberValidator" ErrorMessage="Credit Card Number: Min 10 and max 16 digits, starts with 3 or 4"
        ControlToValidate="CCNumberTBox" runat="server"></asp:RegularExpressionValidator>
</div>
但我得到了以下错误:

对象引用未设置为对象的实例

错误的详细屏幕截图如下所示

顺便说一句,我使用的是VS2008、asp.net/C及其一个web应用程序项目

请帮帮我

非常感谢您使用
FindControl()
查找
PaymentDetails
仅当
PaymentDetails
是根容器的一部分时才有效。也就是说,它不会递归搜索其他控件的子控件

似乎
FindControl()
正在返回null,当您尝试调用
null
上的方法时,会出现错误

FindControl()
在这里是不必要的。仅使用
PaymentDetails.Visible=false
使用
FindControl()
定位
PaymentDetails
仅在
PaymentDetails
是根容器的一部分时有效。也就是说,它不会递归搜索其他控件的子控件

似乎
FindControl()
正在返回null,当您尝试调用
null
上的方法时,会出现错误


FindControl()
在这里是不必要的。只需使用
PaymentDetails.Visible=false

如果您的div既不是子页面,也不是用户控件,也不是母版页,则不需要使用FindControl方法。添加runat服务器标记,并使用id在代码隐藏文件中访问它

apsx page:

<div id="myDiv" runt="server" >

// Your html

</div>

aspx.cs:
private void ShowHideDiv(bool status)
{
   myDiv.Visible = status;
}
apsx页面:
//你的html
aspx.cs:
私有无效显示HIDEDIV(bool状态)
{
myDiv.Visible=状态;
}

如果您的div既不是子页,也不是usercontrol,也不是母版页,则不需要使用FindControl方法。添加runat服务器标记,并使用id在代码隐藏文件中访问它

apsx page:

<div id="myDiv" runt="server" >

// Your html

</div>

aspx.cs:
private void ShowHideDiv(bool status)
{
   myDiv.Visible = status;
}
apsx页面:
//你的html
aspx.cs:
私有无效显示HIDEDIV(bool状态)
{
myDiv.Visible=状态;
}

您能告诉我根容器的含义吗?如果可能的话,你能举个例子来说明一下,因为这会增强我的理解,阻止我再次犯同样的错误。谢谢你anticipation@user653622:有关于这个问题的讨论,非常感谢!!那帮了大忙!!祝您有个美好的一天!!你能告诉我根容器是什么意思吗?如果可能的话,你能举个例子来说明一下,因为这会增强我的理解,阻止我再次犯同样的错误。谢谢你anticipation@user653622:有关于这个问题的讨论,非常感谢!!那帮了大忙!!祝您有个美好的一天!!