onclick要两次才执行JS:clickok(),放在page_load里不行,因为我要传值,请高手帮忙

athrun19860901 2012-09-21 08:44:10
<SCRIPT language="javascript">
function clickok()
{
returnall = document.all("txt_ID").value+","+document.all("txt_NA").value;
window.returnValue=returnall;
window.close();
return true;
}
</SCRIPT>


private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
// 在此处放置用户代码以初始化页面
ShowAll();
}
}

private void btn_cx_Click(object sender, System.EventArgs e)
{
GYS_Bll gb = new GYS_Bll();
gb.Entity.gys = txt_DH.Text.Trim();
if(gb.getOnly() == false)
{
DataSet ds = gb.getNP();
DataRow dr = ds.Tables[0].Rows[0];
txt_ID.Text = dr["gys_id"].ToString();
txt_NA.Text = dr["gys"].ToString();
btn_cx.Attributes.Add("onClick","javascript:clickok()");
}
else
{
DataSet ds = gb.getNP();
dg_gys.DataSource = ds;
dg_gys.DataBind();
}
}
...全文
273 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
javamy014 2013-09-10
  • 打赏
  • 举报
回复
我只是来围观一下!!
孟子E章 2012-09-23
  • 打赏
  • 举报
回复
Page.RegisterStartupScript("js","<script>alert('test');</script>")
这样不会弹出内容?

当然,这样写跟直接通过点击按钮执行时有区别的,你需要修改下执行的代码
athrun19860901 2012-09-23
  • 打赏
  • 举报
回复
这我试过了,按了后没反应,不会调用clickok()
athrun19860901 2012-09-23
  • 打赏
  • 举报
回复
Page.RegisterStartupScript("js","<script>clickok();</script>")

这是对的,可以了,谢谢高手啊,真想给你100分
athrun19860901 2012-09-22
  • 打赏
  • 举报
回复
我的是.net2003学校就用这个,我也没办法
孟子E章 2012-09-22
  • 打赏
  • 举报
回复
你要搞清楚代码的执行顺序你就能明白其中的道理了
孟子E章 2012-09-22
  • 打赏
  • 举报
回复
出了system.web.ui.page不存在ClientScript?
你使用的是asp.net2.0以前的版本?

参考

http://msdn.microsoft.com/zh-cn/library/system.web.ui.page.clientscript%28VS.80%29.aspx
athrun19860901 2012-09-22
  • 打赏
  • 举报
回复
还有没有其它不用在page_load注册的方法?
孟子E章 2012-09-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

我的是.net2003学校就用这个,我也没办法
[/Quote]

那就使用
Page.RegisterStartupScript("js","<script>clickok();</script>")


http://msdn.microsoft.com/zh-cn/library/system.web.ui.page.registerstartupscript%28VS.80%29.aspx
athrun19860901 2012-09-21
  • 打赏
  • 举报
回复
Page.ClientScript.RegisterStartupScript(Page.GetType(),"js","clickok()",true)
改了这个后,出了system.web.ui.page不存在ClientScript
孟子E章 2012-09-21
  • 打赏
  • 举报
回复
btn_cx.Attributes.Add("onClick","javascript:clickok()");
你可以改成
Page.ClientScript.RegisterStartupScript(Page.GetType(),"js","clickok()",true)
athrun19860901 2012-09-21
  • 打赏
  • 举报
回复
那我知道,第一次是注册onclick嘛,那有没有其它不用注册的方法?
孟子E章 2012-09-21
  • 打赏
  • 举报
回复
那是因为
你执行btn_cx_Click的时候才绑定onClick啊。当然是点击之后,再次点击才有效啊

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧