【问题标题】:how to diplay record using ajax in asp.net如何在asp.net中使用ajax显示记录
【发布时间】:2020-08-11 11:25:27
【问题描述】:

我正在使用显示功能来显示数据库中的记录,但它不起作用。它给了我 undefined 的错误。我不知道是什么问题。

   <script type="text/javascript">
   function display(){
   var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET", "insert.aspx?opr=display", false);
   xmlhttp.send(null);
                       
   document.getElementById("ddd1").innerHTML = xmlhttp.responeText;

  }

在其他页面上

          if(opr=="display")
            {

            con.Open();
            SqlCommand cmdd = con.CreateCommand();
            cmdd.CommandType = CommandType.Text;
            cmdd.CommandText = "select * FROM [ajaxtest].[dbo].[table2]";
            cmdd.ExecuteNonQuery();
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmdd);
            da.Fill(dt);
            Response.Write("<table border='1'>");
            Response.Write("<tr>")
            Response.Write("<td>");Response.Write("name");Response.Write("</td>");
            Response.Write("<td>"); Response.Write("city"); Response.Write("</td>");
          
            Response.Write("</tr>");


            foreach(DataRow dr in dt.Rows)
            {
                Response.Write("<tr>");
              
                Response.Write("<td>"); Response.Write(dr["name"].ToString()); Response.Write("</td>");
                Response.Write("<td>"); Response.Write(dr["city"].ToString()); Response.Write("</td>");
                Response.Write("</tr>");

            }


            Response.Write("</table>");
            con.Close();
        }

它给了我“未定义”的错误

【问题讨论】:

  • 您是否通过放置断点来检查您的 C# 代码是否执行?
  • 是的 Response.Write(dr["name"].ToString()); Response.Write(dr["city"].ToString());它正在获取值但未显示的行

标签: c# asp.net ajax


【解决方案1】:

您能否尝试添加 onreadystatechange 回调以确保请求在更新 html 之前完成,如下所示并检查它是否有效:

function display(){
   var xmlhttp = new XMLHttpRequest();
   xmlhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {
       document.getElementById("ddd1").innerHTML = xmlhttp.responeText;
    }
   };
   xmlhttp.open("GET", "insert.aspx?opr=display", false);
   xmlhttp.send(null);
  }

【讨论】:

  • 仍然给我未定义的错误
  • 添加 Response.End();在 Response.Write("");和 con.Close();在 Response.Write(""); 之前
猜你喜欢
  • 1970-01-01
  • 2015-03-01
  • 2011-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多