比如我现在在a.js这个文件里写了如下的一个函数:function fn()
{
   var x;  
}现在如何把这个x传给C#的文件b.cs??反过来,已知b.cs文件里有个变量y,怎么传给a.js文件里的函数f()呢??谢谢!!

解决方案 »

  1.   

    .cs文件中调用js
    Page.ClientScript.RegisterStartupScript() 
    js调用cs中变量
    <%=y%>
      

  2.   

    请说清楚点好吗?我是个新手...
    比如我b.cs里有个变量,//b.cs
    public class CTest
    {
      private string str;
    }//a.js有个函数
    function fn()
    {
       var s = ...//这里要怎么写,才能得到str的值啊??
    }
      

  3.   

    cs里获取js变量就比较麻烦一些....一般来说ajax很好用,也可以把js变量先赋给一个控制然后在cs里获取这个值.....
      

  4.   

    好像不对啊...function fn()
    {
    var s = <%=str%>;    
    alert(s);
    }在JavaScript里面不要考虑这个变量str的命名空间吗? 比如我在类class1有名字为str的变量,在class2也有同名的变量,这样不会冲突吗?如果变量换成函数呢,又该怎么做啊??C#如何用javascript里的函数和变量,反过来,javascript如何使用C#的函数和变量啊??
    请大家帮帮忙,一直都是用C++开发,现在项目需要,被逼得没办法,刚接触javascript,请尽量说详细点..谢谢了!!
      

  5.   

    1\在JavaScript里面不要考虑这个变量str的命名空间吗? 比如我在类class1有名字为str的变量,在class2也有同名的变量,这样不会冲突吗?如果变量换成函数呢,又该怎么做啊?? 分两情况,第一种是获取值的方法直接写在继承自system.web.ui.page的类中,也就是我们最常写的aspx.cs中.如下面的代码,其中GetValue就是写在aspx.cs中的,注意GetValue方法一定不能是private方法.
        <script type="text/javascript">        var value1 = '<%=new testWebProject.Class1().GetDate() %>'
            var value2 = '<%=GetValue() %>'
            
        </script>
    第二种情况是方法直接写在一个.cs文件中,也就是直接继续自Object的类中.如上面的new testWebProject.Class1().GetDate() 
    其中testWebProject是命名空间
    第一种情况的c#
    public partial class index : System.Web.UI.Page
        {
            public string GetValue()
            {
                return System.DateTime.Now.ToShortDateString();
            }    }第二种情况下的csnamespace testWebProject
    {
        public class Class1
        {
            public string GetDate()
            {
                return System.DateTime.Now.ToString();
            }
        }
    }c#直接使用javascript中声明的变量,据我所知,目前好像没有直接的方法.
    但是使用asp.net ajax客户端编程是比较容易实现的.
      

  6.   

    1.把js页面的值x传给C#的文件b.cs:
    除了ajax,我真的想不到有更好的方法了.
    2.已知b.cs文件里有个变量y,怎么传给a.js文件里的函数f()呢:
    那是不可能的,js只是一个静态文件,是不可能直接访问server的变量的,因为当iis接收到客户端请求js文件时,他只是把这个js文件直接发送给客户端(浏览器),而不管这个文件里有什么内容,而把解释权交给浏览器,所以上面的"<%.....%>"是行不通的,
    不过有其它的办法.
    在连接a.js的aspx文件中添加如下代码:
    <script type="text/javascript">
    if(fn!=undefined)
      fn('<%=y%>');   
    //注意:这里放在一个aspx(一个动态文件,由server解释)文件中,最好放在aspx文件的最后.
    </script>而在a.js中
    function fn(a)
    {
    var x=a;     //这样就可以放问了
    }
      

  7.   

    互相传值----不知道楼主是不是在说ajax异步传输
      

  8.   

    用C#的读文件函数Redate去读他的变量就成了
      

  9.   


    第一种情况,cs里面不能直接访问js的变量,可以变通实现,将该变量的值赋给隐藏文本框,然后在后台去取。。第二种情况,在cs文件中定义公共变量,
    public string s = "";
        protected void Page_Load(object sender, EventArgs e)
        {
            s = "wsp";
        }
    在js中访问:<script>
    alert("<%=s %>");
    </script>
      

  10.   

    cs里获取js变量就比较麻烦一些....一般来说ajax很好用,也可以把js变量先赋给一个控制然后在cs里获取这个值.....