为了账号安全,请及时绑定邮箱和手机立即绑定

如何在服务器控件的触发事件中执行js脚本函数

如何在服务器控件的触发事件中执行js脚本函数

当年话下 2018-12-06 11:27:31
小生最近在研究一个类似于遮罩层的js脚本,在asp.net中使用html控件可以很容易的调用到该js脚本中的函数,并有响应效果;我想在服务器控件(Button)的单击事件中实现同样的效果,但效果不是很理想,我想到的两种方法都不好使。 1。把代码写在Click事件中  protected void Button1_Click(object sender, EventArgs e)    {        Response.Write("<script language='javascript'>ShowAlertText(document.getElementById('TextBox1').value,'','',null,null);</script>");    } 这样根本不能看到效果,而且网页提示脚本错误,其中的js函数在htmlButton的onclick事件中是可以实现的。 2。在Page_Load中写入代码如下  if (!this.IsPostBack)        {            this.Button1.Attributes["onclick"] = "ShowAlertText(document.getElementById('TextBox1').value,'','',null,null);";        } 效果是可以出现,但是遮罩层只是瞬间的出现又关闭了,这是不是因为页面已经提交的原因?如何才能让使用者点击确定或关闭才让遮罩层消失。   有人提示说直接就用html控件,但是我点击Button还需要其他的一些与数据库交互的行为,如果用js来写的话,本人对js又很生疏,不好解决,有高手能否提示一下,该情况下该如何处理才能得到想要的效果呢?
查看完整描述

6 回答

?
弑天下

TA贡献1818条经验 获得超7个赞

this.Button1.Attributes["onclick"] = "ShowAlertText(document.getElementById('TextBox1').value,'','',null,null);return false;";

查看完整回答
反对 回复 2019-01-21
?
jeck猫

TA贡献1909条经验 获得超7个赞

果然很强大,但是弱弱的问一句,这行代码写在Page_Load事件中可以执行,但是在Click事件中就不能出现效果了。如果我的Button_Click中还要执行其他的交互代码,这样事件的处理代码写在Click事件中就处理不了了; 如 { Response.Write("Hello world!!!"); Response.Write(""); } Hello World可以写出来,但是后面的代码就没哟办法执行了。 这个问题有办法解决吗?高手提示下吧……
查看完整回答
反对 回复 2019-01-21
?
万千封印

TA贡献1891条经验 获得超3个赞

我下面已经解释Response.Write()的问题了,一般在服务器端输出脚本用二楼说的,page.ClientScript.RegisterStartupScript()
查看完整回答
反对 回复 2019-01-21
  • 6 回答
  • 0 关注
  • 311 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信