簡體   English   中英

如何通過ajax追加div

[英]How to append div by ajax

我試圖從數據庫中檢索值后,我如何從該靜態方法傳遞這些值並附加到ajax中的div,這是C#代碼

[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 Clientid=@Clientid and C_Name=@C_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();
    }

和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;
    }

任何人都可以解釋我如何解決這個問題

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

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

或者您也可以通過使用加法賦值運算符+=而不是賦值運算符=將結果附加到div_ClientLoc.innerHTML中

div_ClientLoc.innerHTML += response.d;

您需要獲取要附加的元素,然后插入HTML。 您可以使用document.getElementById('div_ClientLoc')來獲取目標元素。 insertAdjacentHTML將在beforeend處插入內容,該內容位於結束標記之前。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM