在网上找了找,发现有三种方法可以访问到前台代码:
第一种,OnClientClick (vs2003不支持这个方法)
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="client_click()" OnClick="Button1_Click" />
client_click() 就是javascript的一个方法。
第二种,Button1.Attributes.Add("onclick", "return Client_Click()");
“Client_Click() “是一个前台方法,可以替换成一般的脚本如:retrun confirm('确定删除吗?')
第三种,是我自认为最灵活的一种,ClientScript.RegisterStartupScript
例子:StringBuilder sb = new StringBuilder();
sb.Append("<script language='javascript'>");
sb.Append("Button2_onclick('" + serverPath + "')");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "LoadPicScript", sb.ToString());
第四种. 用Response.Write方法写入脚本
比如在你单击按钮后,先操作数据库,完了后显示已经完成,可以在最后想调用的地方写上
Response.Write("<script type='text/javascript'>alert();</script>");
这个方法有个缺陷就是不能调用脚本文件中的自定义的函数,只能调用内部函数,具体调用自定义的函数只能在Response.Write写上函数定义,比如Response.Write("<script type='text/javascript'>function myfun(){...}</script>");
第五种 用ClientScript类动态添加脚本
用法如下:在想调用某个javascript脚本函数的地方添加代码,注意要保证MyFun已经在脚本文件中定义过了。
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>");
这个方法比Response.Write更方便一些,可以直接调用脚本文件中的自定义函数。
可以在程序的任何地方执行,o(∩_∩)o...,是不是很好用呢
注意执行顺序:先执行Client ,再执行Server
C#后台调用前台javascript的五种方法小结
2019-09-11 10:42脚本之家 ASP.NET教程
由于项目需要,用到其他项目组用VC开发的组件,在web后台代码无法访问这个组件,所以只好通过后台调用前台的javascript,从而操作这个组件。
延伸 · 阅读
- 2019-09-11C#反射技术的简单操作(读取和设置类的属性)
- 2019-09-11ASP.NET调用javascript中Response.Write和ClientScript.Regis
- 2019-09-11asp javascript picasa相册外链批量导出
- 2019-09-11asp javascript值的互相传递方法
- 2019-09-10C#读取中文字符及清空缓冲区的实现代码
- 2019-09-09sealed在C#中的作用说明
精彩推荐
- ASP.NET教程
asp.net GridView排序简单实现
使用javascript操作table排序才是实用的排序,这样排序不怎么好,但是有时候可能会用来,记录一下。...
- ASP.NET教程
asp.net DataList与Repeater用法区别
Repeater比DataList要好一些,如果不是很大数据量的话,这点差别是体现不来的。...
- ASP.NET教程
asp.net cookie的读写实例
先演示简单的cookie读写操作,下次加入des加密解密,敬请期待!...
- ASP.NET教程
asp.net(C#)防sql注入组件的实现代码
经常要写一些.net的程序,对于数据库的防注入要求要比较高。这时我从网上搜了一些代码。查看了一下主要是通过HTTPModel来进行对客户端转过来的数据进行处理。...
- ASP.NET教程
asp.net 该行已经属于另一个表错误的解决方法
从一个TABLE中取一行放到另一个TABLE里报错: 该行已经属于另一个表。的解决办法 用下面来个方法就OK了。...
- ASP.NET教程
asp.net下检测远程URL是否存在的三种方法
asp.net下检测远程URL是否存在的三种方法,需要的朋友可以参考下。...
- ASP.NET教程
解决 The Controls collection cannot be modified because the control contains co
在.aspx或.ascx的如果包括%,并在.aspx, .ascs中使用了AjaxToolkit中的控件,那么很可能会引发这个问题,下面给出具体的解决方法。...
- ASP.NET教程
asp.net 数据访问层 存储过程分页语句
在asp.net 网页中如果在业务逻辑层分页在使用PagedDataSource对象,但如果数据记录过多,使用它会严重的损害应用程序的性能....