本文目录一览:
- 1、关于JS 代码 如何在后台调用
- 2、javascript onclick中怎么调用后台方法
- 3、如何利用JS实现对后台CS代码的调用
- 4、asp.net js 脚本中用动态调用后台代码
- 5、如何用js调用后台方法
- 6、javascript怎么调用后台方法
关于JS 代码 如何在后台调用
首先要保证js脚本是否加载完成。通过
Response.Write("script type="text/javascript" src="ymPrompt/ymPrompt.js"/script");
加载js。
调用则写在后面
Response.Write("script type="text/javascript" ymPrompt.alert()/script");
以上都是通过response的写入页面的方法做的。
最好还是通过跳转页面,用页面的加载js脚本比较好控制
javascript onclick中怎么调用后台方法
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
2、在前台写一个js函数,内容为document.getElementById(btn1).click();
3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;
方法二:1、函数声明为public
后台代码(把public改成protected也可以)
public string ss(){return(a);}2、在html里用<%=fucntion()%>可以调用前台脚本<script language=javascript>
var a = <%=ss()%>;alert(a);</script>
方法三:1、<script language=javascript><!--function __doPostBack(eventTarget, eventArgument){var theForm = document.Form1; //指runat=server的form
theForm.__EVENTTARGET.value = eventTarget;
theFrom.__EVENTARGUMENT.value = eventArgument;
theForm.submit();}--></script>
<input id=Button1 type=button name=Button1 value=按钮 onclick=javascript:__doPostBack('Button1','')>
方法四:<script language=javascript>
function SubmitKeyClick(){if (event.keyCode == 13){event.cancelBubble = true;
event.returnValue = false;
document.all.FunName.value=你要调用的函数名;
document.form[0].submit();}}</script>
<INPUT onkeypress=SubmitKeyClick() id=aaa type=text>
<input type=hidden name=FunName> 〈!--用来存储你要调用的函数 --〉
在.CS里有:
public Page_OnLoad(){if (!Page.IsPost()){string strFunName=Request.Form[FunName]!=null?Request.Form[FunName]:;
//根据传回来的值决定调用哪个函数
如何利用JS实现对后台CS代码的调用
正常情况是不能这样使用的,但是可能通过工具(RPC)或者接口(API)等间接来实现。
RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
从上面的描述可知,两种方法都是可以达到目的,但是使用 RPC 更简单,更容易理解,可以去找符合你使用的 RPC 相关程序。
asp.net js 脚本中用动态调用后台代码
想法很好,但是这是不可行的。
%%的代码是在服务器端执行的,而js脚本是在客户端的浏览器中执行的。也就是说%%会先于js执行。如果要在js中调用后台代码,建议你使用Ajax。
如何用js调用后台方法
方法一:
1、首先建立一个按钮,在后台将调用或处理的内容写入Button1_Click中;
protected void Button1_Click(object sender, EventArgs e)
{
this.TextBox1.Text = "voodooer";
}
2、在前台可以这样调用:
input type="button" value="访问C#的方法" onclick='document.getElementById("Button1").click();' /
方法二:1、函数声明为public 或者protected
public string ss()
{
return("voodooer");
}
2、 前台js调用方法
var a = " %=ss()%";
alert(a);
方法三:
1、 前台代码
script
function __doPostBack(eventTarget, eventArgument) {
var theForm = document.Form1; //指runat=server的form
theForm.__EVENTTARGET.value = eventTarget;
theFrom.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
/scriptinput type="button" value="按钮"
方法四:
1、前台代码
script language="javascript"
function SubmitKeyClick()
{
if (event.keyCode == 13)
{
event.cancelBubble = true;
event.returnValue = false;
document.all.FunName.value="要调用的函数名";
document.form[0].submit();
}
}
/script
INPUT type="text"
input type="hidden" 〈!--用来存储要调用的函数 --〉
javascript怎么调用后台方法
方法一:直接使用%=%调用
前台JS:
[javascript] view plain copy
script type="text/javascript"
var methodStr = "%=BehindMethod() %";
alert(methodStr);
/script
后头方法:
[csharp] view plain copy
public static string BehindMethod()
{
return "这是一个后台的方法";
}
方法二:用ajax调用
前台js:
[javascript] view plain copy
script type="text/javascript" src="js/jquery-1.4.3.min.js"/script
script type="text/javascript"
var params = '{ext:"p9hp"}'; //参数,注意参数名要注意和后台方法参数名要一致
$(function(){
$("#btnOk").click(function(){
$.ajax({
type:"POST", //请求方式
url:"AjaxDemo.aspx/GetImg", //请求路径:页面/方法名字
data: params, //参数
dataType:"text",
contentType:"application/json; charset=utf-8",
beforeSend:function(XMLHttpRequest){
$("#tips").text("开始调用后头方法获取图片路径,请等待");
$("#imgFood").attr("src","image/loading.gif");
},
success:function(msg){ //成功
$("#imgFood").attr("src",eval("("+msg+")").d);
$("#tips").text("调用方法结束");
},
error:function(obj, msg, e){ //异常
alert("OH,NO");
}
});
});
});
/script
页面html:
[html] view plain copy
body
form id="form1" runat="server"
div
label id="tips"/label
img id="imgFood" /
input value="点击我,给你看一张图片" type="button" width="35px" id="btnOk" /
/div
/form
/body
后台方法:
[csharp] view plain copy
[System.Web.Services.WebMethod]
public static string GetImg(string ext)
{
System.Threading.Thread.Sleep(5000);//为了有点等待的效果,延迟5秒
StringComparer sc = StringComparer.OrdinalIgnoreCase;
string[] extArr = new string[] { "php", "asp", "aspx", "txt", "bmp" };
bool f = extArr.Any(s=sc.Equals(s,ext)); //判断传入的后缀名是否存在
if (f)
{
return "image/54222860.jpg";
}
return "image/star1.jpg";
}
方法三:AjaxPro (也是ajax)
第一步:下载AjaxPro.dll(或者AjaxPro.2.dll),并且添加引用到项目
第二步:修改配置文件web.config
[csharp] view plain copy
system.web
httpHandlers
!--注册ajaxPro.2--
add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/
/httpHandlers
/system.web
第三步:对AjaxPro在页Page_Load事件中进行运行时注册。如:
[csharp] view plain copy
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxDemo)); //注册
}
第四步:创建服务器方法,并且用[AjaxPro.AjaxMethod]标注
[csharp] view plain copy
[AjaxPro.AjaxMethod]
public string GetImgByAjaxPro()
{
return "image/54222860.jpg";
}
第五步:前台JS的调用:
[javascript] view plain copy
function GetMethodByAjaxPro() {
var a = JustTest.AjaxDemo.GetImgByAjaxPro();//JustTest是当前的名字空间,AjaxDemo表示后台类
document.getElementById("imgAjaxPro").src = a.value;
}