首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

单击服务器按钮,显示一个层(怪有关问题哦!大家来看看)

2012-01-30 
单击服务器按钮,显示一个层(怪问题哦!大家来看看)请问下大家当我单击按钮时,显示Layer1层,但是第一次单击

单击服务器按钮,显示一个层(怪问题哦!大家来看看)
请问下大家
当我单击按钮时,显示Layer1层,但是第一次单击时没反映,之后才有,而且它只是一闪就过了,到底是怎么回事啊,用客户端的又可以.
前台的层
<div id="Layer1" style="Z-INDEX:101; LEFT:48px; VISIBILITY:hidden; WIDTH:200px; POSITION:absolute; TOP:64px; HEIGHT:115px"
class="unnamed1">

后台
private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
Response.Write("<script type=\"text/javascript\">");
Response.Write("function show(){");
Response.Write("document.getElementById(\"Layer1\").style.visibility=\"visible\";");

Response.Write("</script>");

ImageButton1.Attributes.Add("onclick","show()");



}

[解决办法]
首先,那些输出Javascript的代码是应该放在Page_load里面的.次之,你的按钮执行的只是客户端事件...所以不应该使用服务器端的按钮..因为服务器端按钮会触发服务器端事件,而服务器需要对事件做出相应的处理,再作出反应..所以会刷新页面...所以按钮必须用客户端按钮...

或者还是采用2楼的方法,用return false来阻止向服务器提交事件....不过,如此实现这样的一个效果...采用的方法显得不是很好..
 

C# code
protected void Page_Load(object sender, EventArgs e)     {             Response.Write("<script type=\"text/javascript\">");             Response.Write("function show(){");             Response.Write("document.getElementById(\"Layer1\").style.visibility=\"visible\";");             Response.Write("}</script>");             ImageButton1.Attributes.Add("onclick", "show();return false;");     }
[解决办法]
sorry,刚才没有仔细看你的代码,现在才发现,你是把显示层那个写到一个function里面去了,用literal的话可以不用写到function里面,要不你就还在后面加一个show()来调用你写的那个函数;

热点排行