C# 使用ASP.NET隐藏HTML Div
我将ASP.NET用于网页,以便进行一些涉及查找用户组织信息的服务器调用。根据这些信息,我们需要隐藏或显示一个div。在标题中,我有一个C#函数,它肯定会运行。我尝试了以下几行来隐藏divC# 使用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(不手动添加样式)。我试着把脚本放在身体前后,但没有任何区别。如有任何关于最佳方式的建议,将不胜感激 编辑: 这
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");
}