問題:我在c#后台傳個字符串到js前台,用的是ajax-Ext產品. 
后台AddRevmeeting.aspx.cscs文件代碼如下: 
protected object result = null;
......
if (oriBll.AddRevmeeting(orib))
{
    json = @"{success: true}";
    result = orib.Result;
    //還有這里一點很奇怪,我這樣發送到客戶端,結果測試頁面都會不成功
    //是不是我連續傳兩個值到客戶端的問題??
    //if(result!=null)
        //    Response.Write("<script>alert('出現衝突!')</script>");
}
else
{
   json = @"{success: false}";
}
Response.Write(json);==========================================================================
AddRevmeeting.aspx文件里一個變量已經取得了後台傳的值,如圖, ==========================================================================
然後在Getmeeting.js文件里調用result值 function Getmeeting() 
{    
    //获得房间类型 
    var strType=new Ext.data.Store 
    ( 
        { 
            proxy: new Ext.data.HttpProxy 
            ( 
                { 
                    url:'/Meeting/Json/Getmeeting.aspx'      
                } 
            ), 
            //读取Json 
            reader: new Ext.data.JsonReader 
            ( 
                {root:'data'}, 
                [ 
                    {name:'meetingId',type:'string'}, 
                    {name:'meetingName',type:'string'} 
                ]                
            ) 
        } 
    ); 
    strType.load();    
    
    Ext.QuickTips.init(); 
    Ext.form.Field.prototype.msgTarget = 'side'; 
    //部分代碼 
  AddRevmeeting.form.submit 
  ( 
      { 
        url:'/Meeting/From/AddRevmeeting.aspx',  //提交的页面路径 
        method:'post',//提交方式为post 
        //提交成功的回调函数 
success:function(form,action) 

var flage = action.result.success; 
//如果服务器端传过来的数据为true则表示登录成功 
if (flage == true) 

var result=' <%=result%>';//我想在這里取得result值 
Ext.MessageBox.alert('恭喜','新建預定成功'); 
storeMain.reload(); //重新加载Grid 
storeToday.reload(); 
newWin.hide(); 

}, 
//提交失败的回调函数 
failure:function() 

Ext.Msg.alert('錯誤','服務器出現錯誤,請稍候再試!'); 

        } 
      ); =====================================================================
小弟我剛弄Ext.請達人幫忙.項目很急啊. 
分不夠.我再加(貼子最多只能發100分).已經發了4個100貼了

解决方案 »

  1.   

    圖看到不沒關係的
    圖的內容如下
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AddRevmeeting.aspx.cs" Inherits="From_AddRevmeeting" %>
    <%=result%>我只是說明一下result已經取得值了. 用斷點測試
      

  2.   

    异步访问估计不能这样用<%=result%> 
    你可以将result也放入json 然后在js中相办法取出来
      

  3.   

        json = @"{success: true}";
        result = orib.Result;反过来了吧,先赋值
      

  4.   

    请具体描述一下你的问题. 大概看了下,你有两个地方需要注意 1.AddRevmeeting.aspx.cs 这个页面如果直接用Response.Write输出json,注意把AddRevmeeting.aspx页面的html代码全部删除,只剩下顶部的 <%@%> 2.既然用了ext,怎么会出现 
    var result=' <%=result%>';//我想在這里取得result值 这种主要.而不是直接ajax请求.如果用,这样的语句也只能在aspx页面使用. 
    或者是直接在aspx页面的js代码使用. 你通过 <script  src .../%>引入的js代码不能直接引用服务器变量
      

  5.   

    success:function(form,action) 方法中
    action.response.responseText 获取返回的文本。
      

  6.   

    另外,7楼已经说了。外部的js文件中,这样用是错的:
     var result=' <%=result%>';//我想在這里取得result值 我们的项目中也用了Extjs,是跟jsp一起用的,还有dwr。