首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

.net framework4.0 下ajax传输出有关问题

2013-12-26 
.net framework4.0 下ajax传输出问题同样的代码,在.net framework3.5 下没有问题,而在 .framework4.0 下,

.net framework4.0 下ajax传输出问题
同样的代码,在.net framework3.5 下没有问题,而在 .framework4.0 下,请求没有传输到后台,坐等牛人指教。
开发平台 vs2010,
1. 网站属性->选择framework3.5,正常传输到后台;startRequest可以进入断点,ProcessRequest 可以进入断点。
2. 网站属性->选择framework4.0,不能传输到后台;startRequest可以进入断点,ProcessRequest 不能进入断点。


客户端代码:


//ashx 方法调用 
function startRequest(strParams) {
    createXmlHttp();
    
    var entid="";
    if(ashxParamType==ashxParamEnum.showShip)
    {
        entid="&entid="+strCompany_ID;
    }       

    //使用Get方式
    var Queryurl = "FirstPage/QueryHandler.ashx?rnd="+Math.random()+"&major=" + strParams+entid;
     
    xmlHttp.open("POST", Queryurl, true);
    xmlHttp.onreadystatechange = bindclass;
    xmlHttp.send(null);
}


服务器端代码:QueryHandler.ashx

public class QueryHandler : IHttpHandler,IReadOnlySessionState
{  

    public void ProcessRequest(HttpContext context)
    {      
             //majorid,前端传过来的参数,组合参数 (前端js有说明)
        string majorid = context.Request.Params["major"].ToString().Trim();
        if (!majorid.Contains(DictConst.SPLIT_CHAR_VERTICAL_LINE))
            return;   //参数格式不合法
             
       
        
        
        switch (majorid.Substring(0, 1))
        {......}
}
}
ajax
[解决办法]
引用:
同样的代码,在.net framework3.5 下没有问题,而在 .framework4.0 下,请求没有传输到后台,坐等牛人指教。
开发平台 vs2010,
1. 网站属性->选择framework3.5,正常传输到后台;startRequest可以进入断点,ProcessRequest 可以进入断点。
2. 网站属性->选择framework4.0,不能传输到后台;startRequest可以进入断点,ProcessRequest 不能进入断点。


客户端代码:

//ashx 方法调用 
function startRequest(strParams) {
    createXmlHttp();
    
    var entid="";
    if(ashxParamType==ashxParamEnum.showShip)
    {
        entid="&entid="+strCompany_ID;
    }       

    //使用Get方式
    var Queryurl = "FirstPage/QueryHandler.ashx?rnd="+Math.random()+"&major=" + strParams+entid;
     
    xmlHttp.open("POST", Queryurl, true);
    xmlHttp.onreadystatechange = bindclass;
    xmlHttp.send(null);
}


服务器端代码:QueryHandler.ashx

public class QueryHandler : IHttpHandler,IReadOnlySessionState
{  

    public void ProcessRequest(HttpContext context)
    {      
             //majorid,前端传过来的参数,组合参数 (前端js有说明)
        string majorid = context.Request.Params["major"].ToString().Trim();
        if (!majorid.Contains(DictConst.SPLIT_CHAR_VERTICAL_LINE))
            return;   //参数格式不合法
             
       
        
        
        switch (majorid.Substring(0, 1))
        {......}


}
}



一直用3.5
[解决办法]
还真不知道这个有啥区别,没用过
[解决办法]
好像framework4.0 要指定输出类型
[解决办法]

[解决办法]
好像传两个参数以上用'&'有问题。我前面也遇到过.
[解决办法]
//使用Get方式
    
var Queryurl = "FirstPage/QueryHandler.ashx?rnd="+Math.random()+"&major=" + strParams+entid;
    xmlHttp.open("GET", Queryurl, true);
    xmlHttp.onreadystatechange = bindclass;
    xmlHttp.send(null);

//使用POST方式
   
 xmlHttp.open("POST","FirstPage/QueryHandler.ashx",true);
    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
    xmlHttp.send("rnd="+Math.random()+"&major=" + strParams+entid);

[解决办法]
LZ结贴啊。 。

热点排行