2017-03-02 72 views
3

我想要我怎樣才能從靜態方法將值傳遞後從數據庫中獲取價值和附加在阿賈克斯div來追加DIV,這是該如何通過AJAX

[WebMethod] 
    [ScriptMethod] 
    public static string[] Cdetails(Cmpny cmpny) 
    { 
     StringBuilder html = new StringBuilder(); 
     string strCname = cmpny.Cname; 
     string strCvalue= cmpny.Cvalue; 
     string strLvl = cmpny.Clevel; 
     int intLvl = Convert.ToInt32(strLvl); 
     List<string> company = new List<string>(); 
     if (intLvl == 1) 
     { 


      SqlConnection conn = new SqlConnection(HttpContext.Current.Session["ConnectionString"].ToString()); 
      using (SqlCommand cmd = new SqlCommand()) 
      { 
       cmd.CommandText = "select Clientid,C_Name,C_website,Status,CreatedDate,CreatedBy,ModifiedDate,ModifiedBy from clientDetails where [email protected] and [email protected]_Name"; 
       cmd.Parameters.AddWithValue("@C_Name", strCname); 
       cmd.Parameters.AddWithValue("@Clientid", strCvalue); 
       cmd.Connection = conn; 
       conn.Open(); 

       using (SqlDataReader sdr = cmd.ExecuteReader()) 
       { 
        while (sdr.Read()) 
        { 
         company.Add(string.Format("{0}-{7}", sdr["Clientid"], sdr["C_Name"], sdr["C_website"], sdr["Status"], sdr["CreatedDate"], sdr["CreatedBy"], sdr["ModifiedDate"], sdr["ModifiedBy"])); 
        } 
       } 
       conn.Close(); 
       } 



     } 
     //else 
     //{ 
     // return strLvl.ToArray(); 
     //} 

     return company.ToArray(); 
    } 
C#代碼

和Ajax方法是在這裏

<script type="text/javascript"> 
    function OnTreeClick(evt) { 
     var src = window.event != window.undefined ? window.event.srcElement : evt.target; 
     var nodeClick = src.tagName.toLowerCase() == "a"; 

     if (nodeClick) { 

      var nodeText = src.innerText || src.innerHTML; 
      var nodeValue = GetNodeValue(src); 

      var nodePath = src.href.substring(src.href.indexOf(",") + 2, src.href.length - 2); 
      //alert(nodePath.toLowerCase()); 

       if (nodePath.indexOf("\\") > -1) 
       { 
        var level = "2"; 
        // alert("Second level "); 
       } 
       else 
       { 
        var level = "1"; 
        // alert(" first level "); 
       } 


      //var nodestat = 
      alert("Text: " + nodeText + "," + "Value: " + nodeValue); 
      var cmpny = {}; 
      cmpny.Cname = nodeText; 
      cmpny.Cvalue = nodeValue; 
      cmpny.Clevel = level; 
      $.ajax({ 
       type: "POST", 
       url: "CS.aspx/Cdetails", 
       data: '{cmpny: ' + JSON.stringify(cmpny) + '}', 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function (response) { 
        div_ClientLoc.innerHTML = response.d;//here how can i append those tag and div_ClientLoc is div id 
        // window.location.reload(); 
       } 
      }); 
      return false; 
     } 
     return true; 
    } 
    function GetNodeValue(node) { 
     var nodeValue = ""; 
     //alert(node.href.toLowerCase()); 
     var nodePath = node.href.substring(node.href.indexOf(",") + 2, node.href.length - 2); 
     // alert(nodePath.toLowerCase()); 
     var nodeValues = nodePath.split("\\"); 
     if (nodeValues.length > 1) 
      nodeValue = nodeValues[nodeValues.length - 1]; 
     else 
      nodeValue = nodeValues[0].substr(1); 

     return nodeValue; 
    } 

誰能請解釋我如何才能解決這個問題

回答

3

您將innerHTML的結果分配給覆蓋div_ClientLoc的html。您可以使用jQuery append()方法在div_ClientLoc的現有html中附加響應結果。

$("#div_ClientLoc").append(response.d); 

或者你也可以通過使用加法賦值運算+=,而不是賦值運算符=等作爲下

div_ClientLoc.innerHTML += response.d; 
+0

我想這代碼,但它打印的價值和TreeView的水平,但我需要打印這是我從數據庫中 – Suhas

+0

後端retrived我現在在列表中檢索值,我需要打印的數據這些值,但它打印樹視圖的價值和水平 – Suhas

+0

你有什麼response.d?什麼打印和你想打印什麼? – Adil

0

您需要獲得元素的保留追加結果div_ClientLoc.innerHTML你正在附加到,然後插入HTML。 您可以使用document.getElementById('div_ClientLoc')來獲得您的目標元素。 insertAdjacentHTML將在結束標記之前的beforeend處插入內容。

document.getElementById('div_ClientLoc').insertAdjacentHTML('beforeend', response.d);