在ASP.NET使用javascript的一点小技巧

在ASP.NET中实现确认对话框:

确认对话框

  /// <summary>
  /// 服务器端弹出confirm对话框
  /// </summary>
  /// <param name="str_Message">提示信息,例子:"您是否确认删除!"</param>
  /// <param name="btn">隐藏Botton按钮Id值,比如:btn_Flow</param>
  /// <param name="page">Page类</param>
  public void Confirm(string str_Message,string btn,Page page)
  {
   page.RegisterStartupScript("","<script> if (confirm('"+str_Message+"')==true){document.forms(0)."+btn+".click();}</script>");
  }

   重载确认对话框,点击确定触发一个隐藏按钮事件,点击取消触发一个隐藏按钮事件

  /// <summary>
  ///  服务器端弹出confirm对话框,询问用户准备转向那些操作,包括“确定”和“取消”时的操作
  /// </summary>
  /// <param name="str_Message">提示信息,比如:"成功增加数据,单击/"确定/"按钮填写流程,单击/"取消/"修改数据"</param>
  /// <param name="btn_Redirect_Flow">"确定"按钮id值</param>
  /// <param name="btn_Redirect_Self">"取消"按钮id值</param>
  /// <param name="page">Page类</param>
  public void Confirm(string str_Message,string btn_Redirect_Flow,string btn_Redirect_Self,Page page)
  {
   page.RegisterStartupScript("","<script> if (confirm('"+str_Message+"')==true){document.forms(0)."+btn_Redirect_Flow+".click();}else{document.forms(0)."+btn_Redirect_Self+".click();}</script>");
  }

举例:

SNG项目中添加两个隐藏按钮:btnY,btnN

处理两个按钮事件:

 Private Sub btnY_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnY.Click
        Response.Write("<script>javascript:alert('Y');</script>")
    End Sub

    Private Sub btnN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnN.Click
        Response.Write("<script>javascript:alert('N');</script>")
    End Sub

点击btnInsert后弹出对话框,并处理不同的ok与cancel的内容:

 Private Sub btnInsert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInsert.Click

        Page.RegisterStartupScript("", "<script> if (confirm('??')==true){document.forms(0).btnY.click();}else{document.forms(0).btnN.click();}</script>")

End Sub

Page.RegisterClientScriptBlock和Page.RegisterStartupScript有何区别?

RegisterClientScriptBlock一般返回的是客户端函数的包装,而RegisterStartupScript返回得函数在document装载完成后会执行,类似于我们平时所说的body οnlοad="f()"里面的函数;这两个方法在客户端呈现的代码位置不同,RegisterClientScriptBlock在<form runat=server>之后,而RegisterStartupScript在</form>之前。

补充例子:
....
</HEAD>
<body MS_POSITIONING="GridLayout">
<form name="Form1" method="post" action="WebForm6.aspx" id="Form1">
         <input type="hidden" name="__VIEWSTATE" value="dDw3MzU1MTQ5MzY7Oz6nugrEg+5T6RC7MTIuLoIrMLQLPw==" />
<script>function block(){}</script>  ------------>RegisterClientScriptBlock()方法输出的在这里


<input name="TextBox1" type="text" id="TextBox1" style="Z-INDEX: 101; LEFT: 296px; POSITION: absolute; TOP: 120px" />

          <script>function startup(){}</script> ------------>RegisterStartupScript()方法输出的在这里

</form>
</body>
</HTML>

                                                                                                           转自多处网上资料

如果有错误及更好的建议请指正~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值