我想问大家一下,怎么在.NET中实现JS文件和.CS文件互相调用啊,比如我要显示一个用户列表,但又不想刷新用回调技术该如何实现啊?

解决方案 »

  1.   

    jquery的ajax功能就很简单的实现了你的需求或者其他的框架,很多。。
      

  2.   

    MS提供了AJAX extension,里面的UpdatePanel就可以简单实现。
      

  3.   

    明显说的是ajax,ajax.net你可以试试这个,当然还有很多,不要用AJAX extension,以前我也觉得这个能用,真实的开发结果是,这个真的不好
      

  4.   

    我也不想用Ajax extension,估计是我没说清楚,我现在是想用 回调技术 来实现上述效果.
      

  5.   

    ajax就是回调技术,xmlhttprequest, ajaxpro, microsoft asp.net ajax, jquery,任选
      

  6.   

    根据楼主的意思应该是AJAX没错,稍微查一下比较好,最好是能借本AJAX的书,如果有JS的基础,AJAX很容易上手
      

  7.   

    对啊,我用的就是callBack啊,不好意思,我上面没说清楚
      

  8.   


    callback
    xmlhttprequest或者使用js的框架
    jquery 等等
      

  9.   


    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="JavaScript get Net Function.aspx.cs" Inherits="JavaScript_get_Net_Function" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>前臺與后臺方法護調總結</title>
        <%--
            JavaScript異步調用定義在ASP.Net頁面中的方法, 我們需要:
                1.將該方法聲明為公有(public);
                2.將該方法聲明為類方法(C#中的static,VB.NET中的Shared),而不是實例方法;
                3.將該方法添加【WebMethod】屬性
                4.將頁面中ScriptManager控件的EnablePageMethods屬性設置為true;
                5.在客戶端使用如下JavaScript語法調用該頁面方法
                    PageMethods.[MethodName](param1,param2,...,callbackFunction);
                6.為客戶端異步調用指定回調函數,在回調函數中接受返回值并進一步處理;
                7.添加 using System.Web.Services;
        --%>
        
        <%--
            ASP.Net后臺調用JavaScript function的方法,我們要注意:
                1.盡量少用Response.Write(<script></script>);這種方法,它會影響CSS導致頁面效果偏差
                2.C#中使用ScriptManager.RegisterStartupScript(this, this.GetType(), "edit", "JS('"+param1+"','"+param2+"')", true);
                3.添加 using System.Web.UI;
        --%>
       
        <script type="text/javascript">
       
    /*-------------JavaScript調用.Net后臺Start----------------------------------*/
            function JsCallCSharp(param1)
            {
                PageMethods.SayHelloFromPage(param1,onSayHelloSucceeded);
            }
            
            function onSayHelloSucceeded(result)
            {
                alert(result);
            }
    /*-------------JavaScript調用.Net后臺End----------------------------------*/
            
    /*-------------.Net調用JavaScript Start-----------------------------------*/
            function CSharpCallJs(param1,param2)
            {
                alert(param1 + param2);
            }
    /*-------------.Net調用JavaScript Start-----------------------------------*/
        </script>
        
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" />
        </div>
        
        <asp:Button ID="Button1" onclick="Button1_Click" OnClientClick="JsCallCSharp('takako');" runat="server" Text="Button1" />
        
        </form>
    </body>
    </html>后台
    using System;
    using System.Web.Services;
    using System.Web.UI;public partial class JavaScript_get_Net_Function : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }    protected void Button1_Click(object sender, EventArgs e)
        {
            string param1 = "你好:";
            string param2 = "takako_mu";
            ScriptManager.RegisterStartupScript(this, this.GetType(), "edit", "CSharpCallJs('" + param1 + "','" + param2 + "');", true);
        }    [WebMethod]
        public static string SayHelloFromPage(string name)
        {
            return string.Format("Hello {0}!", name);
        }
    }
      

  10.   

    10楼的同志,
       我知道CallBack的语法,我想说的是:
    比如我一个GridView控件,我要怎么给他填充数据,用回调这个方法
      

  11.   

    接口. System.Web.UI.ICallbackEventHandler
      

  12.   

    asp.net 中的updatePanel 或 Jquery等都可以实现,也很简单
      

  13.   

    http://hi.baidu.com/upjoyce/blog/item/7db760893e7596ba0f2444cc.html
    上面的地址楼主参考一下,应该可以用。