C# 使用ASP.NET隐藏HTML Div

C# 使用ASP.NET隐藏HTML Div,c#,html,asp.net,C#,Html,Asp.net,我将ASP.NET用于网页,以便进行一些涉及查找用户组织信息的服务器调用。根据这些信息,我们需要隐藏或显示一个div。在标题中,我有一个C#函数,它肯定会运行。我尝试了以下几行来隐藏div divID.Style.Add("display","none"); 及 在正文中,我当前正在使用一个asp:面板,该面板在服务器上运行,并包含id“divID”。无论我做什么,我都无法隐藏div(不手动添加样式)。我试着把脚本放在身体前后,但没有任何区别。如有任何关于最佳方式的建议,将不胜感激 编辑: 这

我将ASP.NET用于网页,以便进行一些涉及查找用户组织信息的服务器调用。根据这些信息,我们需要隐藏或显示一个div。在标题中,我有一个C#函数,它肯定会运行。我尝试了以下几行来隐藏div

divID.Style.Add("display","none");

在正文中,我当前正在使用一个asp:面板,该面板在服务器上运行,并包含id“divID”。无论我做什么,我都无法隐藏div(不手动添加样式)。我试着把脚本放在身体前后,但没有任何区别。如有任何关于最佳方式的建议,将不胜感激

编辑:

这是C#启动代码

<script runat="server" language="C#">
  void getUserInfo(Object sender, EventArgs ev){

void getUserInfo(对象发送者,事件参数ev){
C#代码的其余部分无关紧要,但上面显示的相关行肯定正在运行

HTML部分如下所示

<asp:Panel runat="server" id="divID" style="width:200px; height:130px; ">
   <div style="text-align:center">Test Data</div>
</asp:Panel>

测试数据
C#代码始终从服务器端编译和运行,因此在呈现后不会影响页面的状态,除非使用回发或回调。如果要更改客户端控件的可见状态,则需要在客户端使用Javascript(可能通过单击按钮触发)显示和隐藏控件

例如,在下面的链接中查看解决方案。


功能切换DIV(标志){
如果(标志==“第一个”){
document.getElementById('dvFirstDiv').style.display='block';
document.getElementById('dvSecondDiv')。style.display='none';
}
否则{
document.getElementById('dvFirstDiv').style.display='none';
document.getElementById('dvSecondDiv').style.display='block';
}
}

第一组 第二组
C#代码始终从服务器端编译和运行,因此在呈现后不会影响页面的状态,除非使用回发或回调。如果要更改客户端控件的可见状态,则需要在客户端使用Javascript(可能通过单击按钮触发)显示和隐藏控件

例如,在下面的链接中查看解决方案。


功能切换DIV(标志){
如果(标志==“第一个”){
document.getElementById('dvFirstDiv').style.display='block';
document.getElementById('dvSecondDiv')。style.display='none';
}
否则{
document.getElementById('dvFirstDiv').style.display='none';
document.getElementById('dvSecondDiv').style.display='block';
}
}

第一组 第二组
在标题中,我有一个C#函数,它肯定会运行

如果你说的是HTML页面标题-不,它肯定没有运行。C代码只在服务器端执行

根据你的帖子,我假设我们这里讨论的是WebForms,你的aspx文件中有一个脚本块

因此,您只需为周期的
PreRender
阶段添加一个处理程序,并将显示/隐藏div的逻辑放在其中

public void Page_Prerender(object sender, EventArgs e)
{
    divID.Visible = false;
    ' OR
    'divID.Style.Add("display","none");
}
请注意,设置WebForms控件时,会将该控件从呈现到页面中排除,而设置
display:none
会将其呈现为HTML,但不会显示在页面上

在标题中,我有一个C#函数,它肯定会运行

如果你说的是HTML页面标题-不,它肯定没有运行。C代码只在服务器端执行

根据你的帖子,我假设我们这里讨论的是WebForms,你的aspx文件中有一个脚本块

因此,您只需为周期的
PreRender
阶段添加一个处理程序,并将显示/隐藏div的逻辑放在其中

public void Page_Prerender(object sender, EventArgs e)
{
    divID.Visible = false;
    ' OR
    'divID.Style.Add("display","none");
}

请注意,设置WebForms控件会将该控件从呈现到页面中排除,而设置
display:none
会将其呈现为HTML,但它不会显示在页面上。

Try in backcode:divID.Controls.clear();
这对我来说很有效。

尝试反代码:divID.Controls.clear();
这对我很有用。

你能显示完整的aspx代码吗?上面添加了相关的行。你能显示完整的aspx代码吗?上面添加了相关的行。将此布尔变量(显示或隐藏)从C#脚本传递到某些JavaScript的最简单方法是什么?传递此布尔变量(显示或隐藏)的最简单方法是什么从C#脚本到某些JavaScript?@cbreden1如果此回复解决了您的问题。您应该单击左侧的灰色勾号将其标记为接受。@cbreden1如果此回复解决了您的问题,您应该单击左侧的灰色勾号将其标记为接受。
public void Page_Prerender(object sender, EventArgs e)
{
    divID.Visible = false;
    ' OR
    'divID.Style.Add("display","none");
}