簡體   English   中英

ASP.NET LDAP過濾

[英]ASP.NET LDAP FILTERING

有時,在從AD進行的搜索中,我得到了System.Byte []響應。 如果我在vs2010中打開源頁面文件並重新保存搜索結果,那將沒有問題。

注意:我將結果集綁定到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>");
      }
    }
  }

我決定只清理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();
}

暫無
暫無

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

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