我只是希望 js调用cs方法.  通过方法给页面服务器控件直接lable赋值..
icallbackeventhandler  和 ajax 好像都是通过字符串然后js处理才行.

解决方案 »

  1.   

    “icallbackeventhandler  和 ajax 好像都是通过字符串然后js处理才行. ”没明白你的意思。
    用AJAX在CS方法里面不能给服务器控件赋值的,如果你只是想给控件赋值就直接用JS了
    或者就是在JS里面调用回传的函数回传一下页面(类似__doPostBack('<%=txtChange.ClientID %>','');)
      

  2.   

    “icallbackeventhandler  和 ajax 好像都是通过字符串然后js处理才行. ”
    我意思是说. 这两个好像必须是方法返回字符串,然后通过js处理给控件赋值的.我要的是在cs方法里直接赋值.  比如: this.lable1.text = "xxx";
      

  3.   

    吓我一跳,看标题还以为是js执行c#代码呢
      

  4.   


    啊?  看样子还是标题没表达清楚.. 不过,确实是希望通过 js 直接执行c#代码
      

  5.   

    var xScrollStickCssFilePath="sp\/Css\/main.css";  //路径参照你的写写
    document.write("<style>@import url("+xScrollStickCssFilePath+");</style>");献了^_^
      

  6.   

    这个功能,通过你描述的方法貌似不能实现,
    你可以用Ajax返回一个XML,再用Js处理,然后赋值
      

  7.   


    嗯..我也试了. 通过ICallbackEventHandler 接口弄的.
    所以,我才说 回调接口和AJAX 都只能通过返回结果 然后js处理 赋值.这样就有点郁闷了. 本来很简单的一个赋值而已..只是控件实在有点多了.
      

  8.   

    (2008-03-18 21:02:29)   路超(83676260)
    #代码与javaScript函数的相互调用问:
    1.如何在JavaScript访问C#函数?
    2.如何在JavaScript访问C#变量?
    3.如何在C#中访问JavaScript的已有变量?
    4.如何在C#中访问JavaScript函数?
     
    问题1答案如下:
    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()
    {
    //……比如计算某值
    }问题2.如何在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获得值。
    3.如何在C#中访问JavaScript的已有变量?答案如下:方法一:1、前台使用静态文本控件隐藏域,将js变量值写入其中;
            2、后台用request["id"]来获取值;方法二:可以用cookie或session
    4.如何在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>";
     / teral1.Visible=true;
     Literal1.Text=str;
    }
    比如:<input type="button" onclick="click()" value="test"/> 问题: 怎样使用javascript去触发后台事件处理程序及方法?
    你可以在aspx文件中添加一个LinkButton,给它添加事件,text属性值为空页面就看不到了; 
    在javascript函数里面可以这样调用后台事件: 
    function click() 

    document.getElementById("linkButton").click(); 

    此时,你单击html页面控件的时候就会调用后台LinkButton事件处理程序了 <script language="javascript" type="text/javascript">
      function CheckSubject()
      {
         if(document.getElementById('<%= TextPostName.ClientID%>').value.length<1)
         {
            alert("标题不能为空");
            document.getElementById('<%= TextPostName.ClientID%>').focus();
            return false;
            
         }
         else if((document.getElementById('<%= TextPostName.ClientID%>').value.indexOf('<')!=-1)||
              (document.getElementById('<%= TextPostName.ClientID%>').value.indexOf('>')!=-1))
         {  
            alert("标题中含有非法字符");
            document.getElementById('<%= TextPostName.ClientID%>').focus();
            return false; 
         }
         return true;
      }