js代码:
         $.post("ServiceUser.aspx",{'userId':"admin"},
   function(data){
   $("#txt_id").val(data)
     alert("Data Loaded: " + data);
   });
ServiceUser.aspx后台代码:
        ...........省略..................
        SqlDataAdapter sda = new SqlDataAdapter(str_sql, con);
        DataSet ds = new DataSet("ID");
        sda.Fill(ds);
        int n = ds.Tables[0].Rows.Count;   //    n的值为1;
        Response.Write(n);返回的值:
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
省略。。
<div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGREfsgIiO7Ehp3Z3X0vVBg64g2F8Q==" /></div>    <div>        </div>    </form></body></html>我想问下,返回值正常是不是应该是1。我现在返回值不光是1后面还带着一段字符串。
我想问下是怎么回事。谢谢大家

解决方案 »

  1.   

    alert的时候是1,还是1跟着字符串是些什么字符串?
      

  2.   

    输出的是:1跟着字符串。
    1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
    省略。。
    <div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGREfsgIiO7Ehp3Z3X0vVBg64g2F8Q==" /></div> <div> </div> </form></body></html>
      

  3.   

    你的ServiceUser.aspx后台代码有问题, 在你列出来的程序Response.Write(n);后面又输出了什么东西。
      

  4.   

    后面不是还有 return mapping.findForward("")  吧。
      

  5.   

    Response.Write(n);
    //程序退出。system.exit()
      

  6.   


    可以用一般处理程序.ashx 来返回值,或者用webservice,就不会出现多余的html代码了,如果是aspx页面最好请求到一个新的页面,把<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Admin_RptClass.aspx.cs"
        Inherits="InfoIssueWeb.yjbg.Admin_RptClass" %><!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>
        <style type="text/css">这些代码全部去掉,留下一个空的页面
      

  7.   

    js代码:
    $.post("ServiceUser.aspx",{'userId':"admin"},
      function(data){
      $("#txt_id").val(data)
      alert("Data Loaded: " + data);
      });
    改为:
    $.post("ServiceUser.aspx",{'userId':"admin"},
      function(data){
      $("#txt_id").val(data)
      alert("Data Loaded: " + data);
      },"json");
    这里的json也可以换成其他的返回类型,如text等。=====================================================
    ServiceUser.aspx后台代码:
      ...........省略..................
      SqlDataAdapter sda = new SqlDataAdapter(str_sql, con);
      DataSet ds = new DataSet("ID");
      sda.Fill(ds);
      int n = ds.Tables[0].Rows.Count; // n的值为1;
      Response.Write(n);
      Response.End();
      

  8.   

    结贴!感谢6楼8楼两位仁兄!
    还是要说明一下:
    1.
    首先我的错误是在于,8楼那位仁兄说的。ServiceUser.aspx页没有“Response.End();”。
    而js代码没有变。8楼仁兄让我加返回内容格式},"json");不加也可以,加的话需要加“text”。如果加“json”的话就返回不了值。
    2.
    看6楼仁兄的回复,打算用webservice写。webservice代码如下:
        [WebMethod]
        public string cs(string userId)
        {
                省略。
           int n = ds.Tables[0].Rows.Count;
            return n.ToString();//返回的值就是一个“1”;
        }
    JS代码还有些不一样,代码如下:
               $.post("WebService.asmx/cs",{"userId":"admin"},
       function(data){
       $("#txt_id").val(data.text);
         alert("Data Loaded: " + data.text);
      });
    以上代码同样我也没有给出返回内容格式,我试了给“text”,"josn"都不是想要得到的结果。这是我查资料查到的:
    这个web方法返回一个单独的字串。这是一个纯正的字串,对于客户端来说,这是一个object对象,但也可以理解为一个[object,object]对象,而它完整的数据格式可以理解为:{text: "Hello World"}
    所以这里对它进行访问,可以如下:
    ·data.text 这种方式对应于Object.Property
    ·data["text"] 这种方式对应于Object["key"]