怎样通过点击一按钮来显示
元素

profan2046 2006-10-30 06:40:07
我在HTML视图下加了这样一段代码:
<div id = "..." style = "Display:none;"></div>
想通过点击一按钮来显示这个<div>元素,不知如何在后台怎样实现.
请高手指点.
...全文
736 15 打赏 收藏 举报
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ldw701 2006-10-31
  • 打赏
  • 举报
回复
<div id="divSolverList" style="display:none" runat="server">

</div>
ldw701 2006-10-31
  • 打赏
  • 举报
回复
function showDiv(id)
{
var obj = document.getElementById(id);
if (obj.style.display=="none")
{
obj.style.display="";
}
else
{
obj.style.display="none";
}
}
  • 打赏
  • 举报
回复
(录入求职简历)x=this.Page.LoadControl(当前用户所选求职简历模板);
abc.Controls.Add(x);
GridView g=new GridView();
//设置模版列——名称、职位
//从数据库中绑定数据——最新职位
abc.Controls.Add(new LiteralControl("<hr>"));
abc.Controls.Add(g);

  • 打赏
  • 举报
回复
this.Page.Load(当前用户所选求职简历模板); --> this.Page.LoadControl(当前用户所选求职简历模板);
  • 打赏
  • 举报
回复
Q: 就直接填写客户端脚本就可以了。何必那么复杂?
————————————————————————————————————————
A:因为我感觉楼主已经开始依据高级设计逻辑来提问了,例如它问“怎么点击一按钮”,并没有特意说明到底是什么按钮,他也没有说明<div>是用户控件上的还是页面上的,他说“不知如何在后台实现”我想他了解了后台控制的方法之后有可能会举一反三地以面向对象方法编程,例如:

(录入求职简历)x=this.Page.Load(当前用户所选求职简历模板);
abc.Controls.Add(x);
GridView g=new GridView();
//设置模版列——名称、职位
//从数据库中绑定数据
abc.Controls.Add(new LiteralControl("<hr>"));
abc.Controls.Add(x);

这类代码本身就是文档,说明了程序意图。这些是用javascript所无法表达的。虽然也可以用一串低级代码、甚至一串0、1来最终写出程序,但是表现力完全不同(就好像一个人可能抱着字典认识小说中的每一个字,但不一定就能因此读懂小说的意思),高级程序语言相比低级程序语言有其容易建立、容易维护、容易继承、容易重构等的特点。
  • 打赏
  • 举报
回复
把div设置成Runat = Server 不就可以了?
smallmaster 2006-10-30
  • 打赏
  • 举报
回复
就直接填写客户端脚本就可以了。何必那么复杂?
daishengs 2006-10-30
  • 打赏
  • 举报
回复
protected void Button1_Click(object sender, EventArgs e)
{

Response.Write("<SCRIPT LANGUAGE=\"JavaScript\">\n");
Response.Write("<!--\n");
Response.Write("document.getElementById('abc').style.display='block';\n");
Response.Write("//-->\n");
Response.Write("</SCRIPT>");
}
uuuuuuuuuu 2006-10-30
  • 打赏
  • 举报
回复
sp1234(明天去汇款买两个网站空间)
说的很对~
我开始也犯了你上面的错误,要知道你那样回发给服务器,服务器有页面初始化,当然你的那个DIV 有隐藏了,返回false可以不回发

或者你在 protected void Button1_Click(object sender, EventArgs e)
{

abc.Style["display"] = "inline";
}
这样定义,根据回发事件控制服务器控件
是这样的吧
profan2046 2006-10-30
  • 打赏
  • 举报
回复
通过了,我有一段想实现同样功能的代码:
abutton.Attributes.Add("onclick","document.getElementById('abc').style.display='block';");
但结果是点击一下按钮,却只是一闪而过,能看见出现了<div>元素.不知是怎么回事?
poorman19821018 2006-10-30
  • 打赏
  • 举报
回复
sp1234 的<DIV>是服务器端的HTML控件,注意一下。
  • 打赏
  • 举报
回复
我现在基本上针对asp.net(vs2005)来说的了,那个环境比较自动化、问题少一些。
  • 打赏
  • 举报
回复
对于asp.net1.1程序要在page声明:

protected HtmlGenericControl abc;
profan2046 2006-10-30
  • 打赏
  • 举报
回复
sp1234 怎么加入代码后编译没通过说"abc"找不到?
  • 打赏
  • 举报
回复
怎么好象前天才问过一遍?

<div runat="server" id = "abc" style = "Display:none;"></div>

然后在后台page_load中写:
yourButton.Attributes.["onclick"]=abc.ClientID+".style.display='inline';return false;";

这里的按钮并不限制是什么控件,但是脚本说明了onclick如果用在Button这类会回发的控件上,实际上阻止了回发(因为“return false”)。

上面是只能在客户端有效的。如果是需要回发并且保持其状态,应该在按钮的服务器端事件处理中写:
abc.Style["display"]="inline";
而不用去设置按钮的onclick属性。
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-30 06:40
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。