本文目录一览:
ASP.NET后台中调用前台Javascript函数的几种方法
如果利用ajax来处理可能会好些。目前只能通过在后台对这些控件绑定前台的javascript函数来支持前台的处理函数。在网上找了找,发现了几种方法可以达到要求: 第一种,感觉用起来最方便 Button1.Attributes.Add("onclick", "return OnBtnClick()"); OnBtnClick() 是一个前台方法,在此方法中直接在前台处理数据。可以替换成一般的脚本 第二种,OnClientClick asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="OnClientClick()" OnClick="Button1_Click" / Button1_Click是在cs中(后台)处理的方法,而OnClientClick() 就是javascript(前台)的处理函数。 第三种 用ClientScript类动态添加脚本 用法如下:在想调用某个javascript脚本函数的地方添加代码,注意要保证MyFun已经在脚本文件中定义过了。 ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "scriptMyFun();/script"); 这个方法比Response.Write更方便一些,可以直接调用脚本文件中的自定义函数。 第四种,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方法写入脚本 比如在你单击按钮后,先操作数据库,完了后显示已经完成,可以在最后想调用的地方写上
ASP.net C# 后台调用JS函数
在服务器端的后台代码Button_Click事件中调用一个JS写的方法
protected void btnShow_Click(object sender, EventArgs e)
{
//这是Button处理事件的第一句 调用客端的js函数
Page.RegisterStartupScript("showDiv", "scriptShowDiv()/script");//但是VS会提示这种方法已经过时了,但是还是可以使用的!如果比较介意可以使用以下几种替代
第一种:Page.RegisterClientScriptBlock("showDiv", "scriptShowDiv()/script");
第二种:ScriptManager.RegisterClientScriptBlock("这个比较麻烦,所以虽然比较新 我还是比较喜欢使用过时的 新的总是兼容后面 所以不用担心过时的问题");
第三种:ScriptManager.RegisterStartupScript("这个比较麻烦,所以虽然比较新 我还是比较喜欢使用过时的 新的总是兼容后面 所以不用担心过时的问题");
还有很多方法 选中上面的关任意键字 F1自己看VS帮助吧。。。。。。
//-------下面继续写你客户端要做的处理操作
}
asp调用js
首先不是ASP调用,如果是ASP调应该说是使用JS代码写服务器,而不再使用VB/VBS了。在服务器使用JS是这样的:
script type="text/javascript" runat="server"
/script
这里中的代码是用JS写的。
而JS如果在在外边的话:
script type="text/javascript" src="../XX.js" runat="server"/script这是服务端使用JS。
你可能注意到我只是说使用而不说调用,其实这是服务器两种代码的混写。如果你在开头中有一个指令句的话:
%@ Language="javascript" codepage="936"%
则在 〈%%〉内的内容全部是使用了javascript的写法。可以混写,但没有必要吧?一种语言难道不能完成你的请求?
而script type="text/javascript" src="../X.js"/javascript只是客户端的调用!也就是说该内容会发送到客户端的,然后会自动下载JS文件到本地,在本地的浏览器中执行!
而就算是你采用了两种语言混写的ASP代码,很不幸地告诉你,两种语言是不能直接通信的!也就是想在VB中调JS的变量或是函数都是错误的。这就是为什么称ASP不能调用JS。
JS是浏览器的脚本语言,可别忘记另外一个重要内容。VBSCRIPT也可以是浏览器的脚本语言的。而在服务端也是同样。所以别在想ASP调用JS了!
如果是客户端的调用,请检查路径是否正确,是否存在该函数以供调用。如果你的JS中没有这个函数,显然也是调用不成功能的。检查浏览器是否禁用了JS脚本。
当一切检查完成,可能还会犯这样的毛病:
JS文件和格式如果这样写就不会有任何调用的(事实上文件已经调入,便不能调用函数而已)
XX.js
script language="javascript"
fuction nan(){
}
这里定义了一大堆的函数
/script
这种写法本身就是错误的,但有很多有就这样写。实际上格式是里边全部是JS语句,不存在任何其他内容的!
asp.net 后台调用JS
这样做,不太现实。
首先,您的按钮是控件来的,随非您将DIv也加入runat="server"
,把DIV显示出来,不过,这种方式,一般都不行,因为,当你把DIV显示出来了,那button按钮就会刷新页面一次,DIV也不会显示出来了。
您可以对button按钮加入OnClientClick事件,写JS显示出来。