Asp.Net 如何调用js中的函数function ?

1. 直接在前台调用 javascript 函数

很简单,在 head 元素之间加入 script 元素,将 type 元素设置为 " text/javascript "
如:

代码如下:

<head runat="server"> 
<script type="text/javascript" > 
function ShowName(str) 
{ 
alert("您的名字为:("+str+")"); 
} 
</script> 
<title>using javascript</title> 
</head>

之后在body 元素间,通过事件来访问 如 要通过button1 的单击事件(onclientclick)来访问 javascript 函数
示例如下:

<asp:Button ID="Button1" runat="server" Text="Button" onclientclick="ShowName('XXX')" />

这时运行项目,单击 button时,会显示"您的名称为XXX"
这就是一个简单的javascript 函数.

2 在前台通过 js文件 调用
方法与 (1)一样 只不过需要指定 .js 文件
示例如下:

<head runat="server"> 
<script type="text/javascript" src="JScript.js"> 
</script> 
<title>using javascript</title> 
</head>

之后在body 元素间,通过事件来访问 如 要通过button1 的单击事件(onclientclick)来访问 javascript 函数
示例如下:
//此时 .js文件中必须有 ShowName 方法

<asp:Button ID="Button1" runat="server" Text="Button"
  1. 在后台调用 javascript 函数,函数写在 .js文件中,但并没有在前台定义
    代码如下:
//获得.js文件 
string myscript = "JScript.js"; 
//注册.js文件, 如果此时查看源码,会得到如下代码 
//<script> src ="JScript.js" type="text/javascript"><script> 
Page.ClientScript.RegisterClientScriptInclude("myKey", myscript); 
//同上 
Button1.Attributes.Add("onclick", "showname1(123)");  

onclientclick="ShowName('XXX')" /> 
  1. 在后台调用 javascript 函数,函数在.js文件中
    前台的head 元素
    代码如下:
<head runat="server"> 
<script type="text/javascript" src="JScript.js"> 
</script> 
<title>using javascript</title> 
</head>

后台的需要添加如下代码

Button1.Attributes.Add("onclick", "showname1(XXX)"); 
  1. 用ClientScript类动态添加脚本
    用法如下:在想调用某个javascript脚本函数的地方添加代码,注意要保证MyFun已经在脚本文件中定义过了。
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>"); 

这个方法比Response.Write更方便一些,可以直接调用脚本文件中的自定义函数。
注意,以上所有方法中,后台代码都不能有转化当前页的代码,比如Redirect等,要把转页代码放在脚本里面

  1. 用Response.Write方法写入脚本
    比如在你单击按钮后,先操作数据库,完了后显示已经完成,可以在最后想调用的地方写上
Response.Write("<script type='text/javascript'>alert();</script>"); 

这 个方法有个缺陷就是不能调用脚本文件中的自定义的函数,只能调用内部函数,具体调用自定义的函数只能在Response.Write写上函数定 义,比如

Response.Write("<script type='text/javascript'>function myfun(){...}</script>");

原文:https://blog.csdn.net/kid_12/article/details/47009267

ASP.NET ,可以使用 Code-behind 文件来编写 C# 代码,并在前端页面调用这些代码函数。具体步骤如下: 1. 在 ASP.NET 项目创建一个 Code-behind 文件,比如 Default.aspx.cs。 2. 在 Code-behind 文件定义一个公共函数,比如: ``` public void MyFunction(string param) { // Do something with param } ``` 3. 在前端页面添加一个按钮或者其他触发事件,比如: ``` <asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="Submit" /> ``` 4. 在前端页面对应的 Code-behind 文件,添加一个事件处理函数,并在其调用之前定义的公共函数,比如: ``` protected void btnSubmit_Click(object sender, EventArgs e) { string myParam = "Hello"; MyFunction(myParam); } ``` 在 JavaScript 调用 C# 函数则需要使用 Ajax 技术。具体步骤如下: 1. 在 C# 创建一个 WebMethod,使用 [WebMethod] 标志进行标记,比如: ``` [WebMethod] public static string MyFunction(string param) { // Do something with param return "Result"; } ``` 2. 在 JavaScript 使用 Ajax 发送一个 POST 请求到 C# 的 WebMethod,比如: ``` $.ajax({ type: "POST", url: "MyPage.aspx/MyFunction", data: JSON.stringify({ param: "Hello" }), contentType: "application/json; charset=utf-8", dataType: "json", success: function (result) { alert(result.d); } }); ``` 其,MyPage.aspx 是包含 MyFunctionASP.NET 页面的名称,result.d 是返回的结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值