`
liu5320102
  • 浏览: 40455 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

ASP.NET与JS交互

阅读更多

1.asp.net呼叫js
   
                     Response.Write("<script language=javascript>");
                     Response.Write("alert('登峰欢迎您 ');" );
                     Response.Write("location.href='login.aspx';") ;
                     Response.Write("</script>") ; 
   在这里情况下,你可以调用页面中的JS脚本的函数都可以
 

2、js脚本如何访问服务器控件的值
        界面上有一个TextBox控件,ID为Name,js里可以采用如下脚本取Name的值
        var myvalue=document.all('Name').value;

3、服务器控件如何取js中变量的值
       方法是在界面上放一个隐藏的控件HtmlInputHidden,然后设置为以服务器控件运行,这样在js脚本中和ASP.NET代码里都可以访问到该控件的值
        js中给服务器控件赋值:
        var bt=document.all('Name').value;
        bt.value='名称';
        ASP.NET中使用Name.Value来访问。

4.前台和后台之间函数的调用

<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript">
    function callServer(arg){
        var oTb = document.getElementById('<%=editValue.ClientID %>');
        // arg中是传给服务器的变量
        arg = oTb.value;
        <%=ClientScript.GetCallbackEventReference(this, "arg", "receiveServerResult", null, true)%>
    }
   
    function receiveServerResult(result){
        // 在这里添加处理服务器返回结果的逻辑,result变量是服务器返回的结果
        alert(result);
    }
    </script>
...//此处省略部分代码
    <asp:TextBox ID="editValue" runat="server" />
    <asp:Button ID="btnSubmit" runat="server" Text="Submit Data" OnClientClick="callServer();return false;" />

</head>

 


CS文件

C# code
//页面类继承ICallbackEventHandler接口,并实现其中的两个方法
public partial class _Default : System.Web.UI.Page , ICallbackEventHandler
{
    private string m_strResult = "";

    #region ICallbackEventHandler Members

    public string GetCallbackResult()
    {
        // 返回服务器端处理结果给receiveServerResult方法
        return m_strResult;
    }

    public void RaiseCallbackEvent(string eventArgument)
    {
        // eventArgument是客户端传来的变量,对应arg变量
         // 在这里添加服务器端处理逻辑...
        m_strResult = eventArgument;
    }

    #endregion
}


5.javaScript函数中执行C#代码中的函数:
方法一:
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"]:"";
                    //根据传回来的值决定调用哪个函数
                   switch(strFunName)
                    {
                      case "enter()":
                      enter() ; //调用该函数
                      break;
                      case "其他":
                      //调用其他函数
                      break;
                      default:
                      //调用默认函数
                      break;
                     }
                   }
                 }

                  public void enter()
                 {
                  //……比如计算某值
                  }

6.如何在JavaScript访问C#变量?

方法一:1、通过页面上隐藏域访问<input id="xx" type="hidden" runat="server">
方法二:1、如后台定义了PUBLIC STRING N; 前台js中引用该变量的格式为'<%=n%>'或"+<%=n%>+"
方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本
            "<script language='javascript'>var temp=" + tmp + "</script>"
             tmp是后台变量,然后js中可以直接访问temp获得值。
7.如何在C#中访问JavaScript函数?
       c#代码中执行javaScript函数:
             方法一:1、Page.RegisterStartupScript("ggg","<script>SetVisible(1); </script>");
             方法二:使用Literal类,然后
          private void Button2_Click(object sender, System.EventArgs e)
             {
         string str;
            str="<script language='javascript'>";
            str+="selectRange()";
           str+="</script>";
           //Literal1.Visible=true;
            Literal1.Text=str;
           }

分享到:
评论

相关推荐

    ASP.NET与Excel的交互

    本文介绍了在B/S结构下,ASP.NET程序如何实现从Excel文件中导入数据.以及如何以Excel文件形式导出数据的几种方式,并着重介绍了数据导入和客户端数据导出的具体实现步骤

    asp.net中后台c#数组与前台js数组交互

    asp.net中后台c#数组与前台js数组交互上述代码即为我解决问题所用代码,均已试验通过。

    asp与asp.net的区别

    ASP.NET与ASP的主要区别在于前者是编译(Compile)执行,而后者是解释(Interpret)执行,前者比后者有更高的效率。实际上我们可以把ASP.Net的执行过程看做是编译后的普通语言运行时代码充当一个和前端浏览器和中间件...

    AngularJS开发ASP.NET MVC

    AngularJS 开发 ASP.NET MVC.

    Android使用Json与Asp.Net交互(上传/下载数据集)

    这是一个简单的在Android客户端连接Asp.Net进行上传或下载的示例,在Android客户端以psot形式发送请求到Asp.Net服务器端,服务器端接收到请求参数后判断是上传还是下载,并进行相应处理。 示例中传输的数据未实体类...

    asp.net中javascript与后台c#交互

    由于是在asp.net中实现,故问题演化成asp.net中javascript与后台c#如何进行交互。 C#代码与javaScript函数的相互调用主要有四个方面: 1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量?

    .net与javascript脚本的交互方法总结

    本文实例总结了.net与javascript脚本的交互方法,分享给大家供大家参考。具体方法如下: 1.asp.net呼叫js 代码如下:Response.Write(“[removed]”); Response.Write(“alert&#40;‘登峰欢迎您 ‘&#41;;” ); ...

    ASP.NET JS调用后台CS代码方法

    ASP.NET 从界面.用JS语言调用后台CS代码中的方法.可不刷新页面实现与数据库的交互. 功能强大. 没有注册 AJAX 的VS用户。如果不能直接使用 则需要下载 ASPAJAXExtSetup_PConline_PConline 才可使用。 本资源得分已满...

    基于 BOOTSTRAP 和 KNOCKOUT.JS 的 ASP.NET MVC 开发实战

    基于 BOOTSTRAP 和 KNOCKOUT.JS 的 ASP.NET MVC 开发实战。 利用动态服务端Web内容和响应Web设计共同构建的网站,在任何分辨率、桌面或移动设备下都可以进行良好的显示。通过本书的实践应用,你将可以学习对ASP.NET ...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的...

    asp.net(c#) 与 highcharts 数据库交互

    可实现 highcharts 和 数据库交互。内附:效果图及相关js

    ASP.NET MVC网上图书商城电商网站运营源码

    2项目使用 ASP.NET MVC框架,使用ADO.NET实体数据模型 EF连接数据库,view视图用Razor视图,控制器动作方法使用 Linq to sql 实现与数据库进行数据交互,并完成业务逻辑操作 3页面使用伪静态处理 网站前台 1Web前端...

    asp.net学习积累的代码段

    asp.net中如何用c#实现弹出式的交互对话窗口.txt cookie登陆判断.txt CSharp基本书写规范.doc CustomValidator可以编程控制.txt html encode.txt html页面中数据绑定.txt html语法大全.txt listbox相互传值.txt MD5....

    ASP.NET3.5AJAX高级编程.part2.rar

    本书介绍了如何使用ASP.NET 3.5 AJAX特性创建功能丰富、响应迅速的动态网站,并概述了体系结构,包括ASP.NET服务器元素、客户端JavaScript库和运行库,能够帮助读者清晰地理解ASENET 3.5 AJAX的各个部分之间的关系,...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    该书与《ASP.NET 2.0入门经典(第4版)》及其早期版本,曾影响到无数中国Web程序员。. ASP.NET允许Web站点为每个访问者显示独一无二的页面,而不是显示相同的静态HTML页面。ASP.NET 2.0的发布,使Web应用程序的...

    ASP.NET4高级程序设计(第4版) 3/3

     《ASP.NET 4高级程序设计(第4版)》是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。书中还深入讲述了其他ASP.NET图书...

    淘淘汽配网上购物商城 ASP.NET Web+SqlServer

    项目使用的是 ASP.NET Web+SlqServer 开发用于购物,前台模块:登录、注册、首页商品展示,商品搜索,商品...还运用了亮点功能(session、javaScript、Jquery异步交互、文件上传下载),有大量的项目文档;数据库脚本。

    ASP.NET MVC5考试_管理系统源码

    1、项目基于 ASP.NET MVC开发,采用三层架构设计:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。 2、使用Css+HTML+JavaScript+jQuery等前端技术进行前端页面开发。 3、搭配EasyUi前端框架布局 4、后台与...

Global site tag (gtag.js) - Google Analytics