2012-11-05 58 views
0

偶爾,在AD搜索中,我得到System.Byte []響應。如果我在vs2010中打開源文件頁面文件並重新保存搜索返回沒有問題。ASP.NET LDAP篩選

注意我將結果集綁定到xml。我想象這與它有很大關係。

這裏是一個代碼摘錄:


public void bindGridView(string sortExp, string sortOrder) 
    { 
    DataSet aDataSet = new DataSet(); 
    XmlDocument xd = LDAPConn(sortExp, sortOrder); 
    aDataSet.ReadXml(new StringReader(xd.InnerXml)); 
    // Bind the DataSet to the grid view 
    DataView dv = new DataView(); 
    string sortMsg = ""; 
    switch (sortExp) 
    { 
     case "sn": 
     sortMsg = "Lastname"; 
     break; 
     case "department": 
     sortMsg = "Department"; 
     break; 
     case "Title": 
     sortMsg = "Title"; 
     break; 
     case "physicalDeliveryOfficeName": 
     sortMsg = "Store"; 
     break; 
     default: 
     sortMsg = sortExp; 
     break; 
    } 
    if (aDataSet.Tables.Count > 0) 
    { 
     try 
     { 
     debug(true, "<h2 style='float:right;'><b>Sorting By:</b><strong style='color:#880000;'>" + sortMsg + "</strong> &amp; <b>Direction:</b><strong style='color:#880000;'>" + sortOrder.ToString() + "</strong></h2>"); 
     dv = aDataSet.Tables[0].DefaultView; 
     GridView1.DataSource = dv; 
     GridView1.DataBind(); 
     } 
     catch (Exception e) 
     { 
     debug(true, "<br/><b style='color: rgb(255,0,0);'>Your search returned no results.</b><br/><span style=''>" + e.Message + "<br/>" + e.InnerException + e.Source + "</span>"); 
     } 
    } 
    } 
+0

謝謝卡(用於重新格式化) –

+0

我LDAPConn返回的XML數據列表:某人 System.Byte []更多...

回答

0

我決定只清理現場,如果string eval = System.Byte[]

public string SanitizeField(SearchResultCollection result, string field) 
{ 
    StringBuilder sb = new StringBuilder(); 
    foreach (object val in result[0].Properties[field]) 
    { 
    sb.Append("<" + field + ">" + val + "</" + field + ">"); 
    } 
    return sb.ToString(); 
}