2015-09-21 4 views
0

Я использую следующий код, чтобы получить LogedInUser от LogIn.aspx и отправить его в Chat.aspx затем отправить его в FrmForAjaxCalls возвращать данные из БД и заполнить его на DIV, но в рабочем времени он говорил мне в браузере консоли Request.QueryString неопределенRequest.QueryString неопределен

здесь LogIn.aspx код

protected void Button3_Click(object sender, EventArgs e) 
{ 

    Response.Redirect("Chat.aspx?LGN2="+TextBoxUserName.Text); 
} 

и это Chat.aspx Javascript код

<script type="text/javascript" > 
    var xmlhttp; 

    function GetData() { 
     xmlhttp = null; 
     if (window.XMLHttpRequest) { 
      xmlhttp = new XMLHttpRequest(); 
     } 
     else if (window.ActiveXObject) { 
      xmlhttp = new ActiveXObject(); 
     } 
        string LogedInUser = Request.Cookies["LogedInUser"].Value; 


     var LogedInUser = Request.QueryString["LGN2"]; 

     xmlhttp.onreadystatechange = function() { 

      if (xmlhttp.readystate == 4 || xmlhttp.status == 200) { 

       document.getElementById("MyDiv").innerHTML = xmlhttp.responseText; 
      } 
     } 
     xmlhttp.open("GET", "FrmForAjaxCalls.aspx?LGN=" + LogedInUser, true); 
     xmlhttp.send(); 
    } 

затем я отправить его FrmForAjaxCalls вернуть данные, но его возвращение ничего на DIV с Request.QueryString не неопределенным exption на браузер консоли

protected void Page_Load(object sender, EventArgs e) 
{ 
    string LogedInUser = Request.QueryString["LGN2"].ToString(); 

    StringBuilder html = new StringBuilder(); 

     String result = String.Empty; 
     SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["CRConnection"].ConnectionString); 
     SqlCommand cmd = new SqlCommand("Select MessageNum , Message , SenderName ,Date from Message where ReciverUserName='" + LogedInUser + "'", cnn); 
     cnn.Open(); 
     SqlDataAdapter da = new SqlDataAdapter(cmd); 
     DataTable dt = new DataTable(); 
     da.Fill(dt); 
     html.Append("<div id = xxx> "); 
     html.Append("<table border='1'>"); 
     html.Append("<tr>"); 
     foreach (DataColumn col in dt.Columns) 
     { 
      html.Append("<th>"); 
      html.Append(col.ColumnName); 
      html.Append("</th>"); 
     } 
     html.Append("</tr>"); 
     foreach (DataRow row in dt.Rows) 
     { 
      html.Append("<tr>"); 
      foreach (DataColumn col in dt.Columns) 
      { 
       html.Append("<td>"); 
       html.Append(row[col.ColumnName]); 
       html.Append("</td>"); 
      } 
      html.Append("</tr>"); 
     } 
     html.Append("</table>"); 
     html.Append("</div>"); 

     Response.Write(html); 

} 

ответ

1

В вашей пасте для Chat.aspx, вы вызываете его LGN вместо LGN2 ... Может быть, все? В таких ситуациях ваша первая миссия должна заключаться в том, чтобы добавить журнал в течение всего процесса, чтобы увидеть, где он разваливается, поэтому вы можете определить, где проблема.

+0

его тот же , кстати LogedInUser отправляется из Login.aspx в Chat.aspx , но не отправленного из Chat.aspx в FrmForAjaxCalls.aspx –

+0

Посмотрите на код. Вы устанавливаете LGN = во время звонка в FrmForAjax, но ищете LGN2, как только вы доберетесь туда. – Fosco

+0

Я изменил его, но он по-прежнему те же ошибки –