您的位置:首页 > 编程语言 > ASP

关于ASP.net中服务器控件的脚本问题

2010-03-21 17:05 330 查看
最近在做一个学术期刊的投稿子模块,其中涉及到div的隐藏和显示,具体是要在后台获取数据然后决定div的隐藏或者是显示以及checkbox的选中或者是未选中状态。

想了好多自以为是的方法,接二连三地失败了

下面给出正确的思路和方法,也算是给自己积累点东西

1,前台代码

代码

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//获取是否有第二作者的信息…………
//设置cb.Checked = true or false

if (cb.Checked)
{
//div_box.Visible = true;//这样写是可以的,但是当执行js脚本(document.getElementById('div_box')为null)就会出现"缺少对象"错误
div_box.Attributes.Add("style", "display:block");
}
else
{
//div_box.Visible = false;//同上
div_box.Attributes.Add("style", "display:none");
}
}
}
}
上面的代码有两处需要注意,一处就是后台的代码,注释掉的那两句。当初想当然以为这样可以,后来发现当点击checkbox按钮的时候,会出现脚本错误,说“缺少对象”。。还一处就是div_box的样式要写在一个样式表中或者在<head></head>之间嵌入样式,否者样式会丢失,因为在Page_Load事件中重写了style,除非后台两句代码改成如下形式。

div_box.Attributes.Add("style", "display:block;width:300px;border:solid 1px red");

div_box.Attributes.Add("style", "display:none;width:300px;border:solid 1px red");
但说实话,这并不是一种好的方法。

以后自己要切记切记。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: