我貼賣我的車在貝根縣的分類廣告, 在周日晚上的 NJ. 我不久就收到幾個查詢通過電子郵件和成交了在週二晚上與某人.
幾乎太好得難以置信 …
我貼賣我的車在貝根縣的分類廣告, 在周日晚上的 NJ. 我不久就收到幾個查詢通過電子郵件和成交了在週二晚上與某人.
幾乎太好得難以置信 …
很多時候不要修改高級的搜索 XSLT, 這樣看來我每一次我爬的小山頭.
這是我最新的課: 區分大小寫時引用列. 在我的高級搜索中, 我已經為此定義的列:
<根 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<列>
<列 名稱="GafTrainingInvoiceNumber" />
<列 名稱="GafTrainingInvoiceLocation" />
<列 名稱="作業識別碼"/>
<列 名稱="排名"/>
<列 名稱="標題"/>
<列 名稱="作者"/>
<列 名稱="大小"/>
<列 名稱="路徑"/>
<列 名稱="說明"/>
<列 名稱="寫入"/>
<列 名稱="網站名稱"/>
<列 名稱="CollapsingStatus"/>
<列 名稱="HitHighlightedSummary"/>
<列 名稱="HitHighlightedProperties"/>
<列 名稱="ContentClass"/>
<列 名稱="IsDocument"/>
<列 名稱="PictureThumbnailURL"/>
</列>
</根>
顯示發票號碼、 發票位置的 XLST 已:
<p>
培訓發票編號: <xsl:值的 請選擇="GafTrainingInvoiceNumber"/>
<br></br>
培訓發票位置: <xsl:值的 請選擇="GafTrainingInvoiceLocation"/>
</p>
不過, 選擇具有要引用的屬性中全部小寫, 如在:
<p>
培訓發票編號: <xsl:值的 請選擇="gaftraininginvoicenumber"/>
<br></br>
培訓發票位置: <xsl:值的 請選擇="gaftraininginvoicelocation"/>
</p>
直到我改正錯誤, 搜尋結果顯示的標籤 (e 小節. "培訓發票編號") 但沒有資料.
業務應用場景:
製造業公司的 MOSS 企業範圍內實現 30+ 網站和幾個幾十個企業部門.
業務目標:
儘管大量的商業團體 (部門, 位置, 等), 某些資料應保持在全球一級. 舉個例子, 該公司的所有物理位置的權威主清單 (例如:. 生產設施, 倉庫位置, 銷售辦事處) 應保持在一個中心位置.
技術上的問題:
企業分類是使用多個網站集合來實現. 我們本來希望在 WSS 的自訂清單中創建的物理位置的權威清單. 然後, 當我們需要有一列中的內容類型 (或一列添加到清單或文件庫) 包含公司位置, 我們將創建一個使用"查找的列" 資料類型和指向該主清單.
不幸的是, 查找的資料類型必須訪問"本地的源清單" 我們的權威清單不能跨網站集合的含義.
技術解決方案:
實施新的自訂資料類型執行基於的 SPField,表示為其清單專案填充從主 WSS 清單中的使用者介面中的 DropDownList.
我們創建了一個新的網站集合,稱為 "http://localhost/EnterpriseData". 有, 我們創建了一個名為"企業位置"的自訂清單. 此清單只是用一個標準的"標題" 包含實際公司位置清單中的欄位.
其中一個如下幾個不連續的步驟在 WSS 中創建一個自訂的資料類型. 他們是:
下面是代碼,:
公眾 類 XYZZYCorporateLocationField : SPFieldText
{
公眾 XYZZYCorporateLocationField
(SPFieldCollection 欄位, 字串 typeName, 字串 顯示名稱)
: 基地(欄位, typeName, 顯示名稱) { }
公眾 XYZZYCorporateLocationField
(SPFieldCollection 欄位, 字串 顯示名稱)
: 基地(欄位, 顯示名稱) { }
公眾 重寫 BaseFieldControl FieldRenderingControl
{
獲取
{
BaseFieldControl 控制 = 新增功能 XYZZYCorporateLocationFieldControl();
控制。FieldName = 這.InternalName;
返回 控制;
} //獲取
} // fieldrenderingcontrol
公眾 重寫 字串 GetValidatedString(物件 價值)
{
如果 (這.必填 || 值。ToString().合計(字串.空))
{
拋出 新增功能 SPFieldValidationException ("未分配部門。");
}
返回 基地.GetValidatedString(價值);
} // getvalidatedstring
} // XYZZYCorporateLocation
公眾 類 XYZZYCorporateLocationFieldControl : BaseFieldControl
{
受保護 DropDownList XYZZYCorporateLocationSelector;
受保護 重寫 字串 DefaultTemplateName
{
獲取
{
返回 "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName
公眾 重寫 物件 價值
{
獲取
{
EnsureChildControls();
返回 這.XYZZYCorporateLocationSelector SelectedValue。;
} // 獲取
設置
{
EnsureChildControls();
這.XYZZYCorporateLocationSelector.SelectedValue = (字串)這.ItemFieldValue;
} // 設置
} // 重寫物件值
受保護 重寫 無效 CreateChildControls()
{
如果 (這.欄位 = = 則為 null || 這.ControlMode = = SPControlMode.顯示)
返回;
基地.CreateChildControls();
這.XYZZYCorporateLocationSelector =
(DropDownList)TemplateContainer FindControl。("XYZZYCorporateLocationSelector");
如果 (這.XYZZYCorporateLocationSelector = = 則為 null)
拋出 新增功能 異常("錯誤: 無法載入。ASCX 檔!");
如果 (!這.IsPostBack 頁。)
{
使用 (SPSite 網站 = 新增功能 SPSite("HTTP://本地主機/enterprisedata"))
{
使用 (SPWeb web = 網站。OpenWeb())
{
SPList currentList = web。清單["企業位置"];
foreach (SPItem XYZZYCorporateLocation 在中 currentList.Items)
{
如果 (XYZZYCorporateLocation["標題"] == 則為 null) 繼續;
字串 標題;
標題 = XYZZYCorporateLocation["標題"].ToString();
這.XYZZYCorporateLocationSelector.Items.Add
(新增功能 ListItem(標題, 標題));
} // foreach
} // 使用 spweb web = site.openweb()
} // 使用 spsite 網站 = 新 spsite("HTTP://本地主機/enterprisedata")
} // 如果不是回發
} // CreateChildControls
} // XYZZYCorporateLocationFieldControl
上面的代碼基本上實現填充位於 WSS 自訂清單中的值的下拉清單中的邏輯 http://localhost/enterprisedata 和命名的"公司部門".
我在單個.cs 檔中定義了這兩個類, 編譯它,並將其放到 gac 中 (強烈要求, 答案是肯定的).
<%@ 控制 語言="C#" 繼承="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,版本 = 12.0.0.0,文化 = 中性,公開金鑰 = 71e9bce111e9429c" compilationMode"總是 =" %>
<%@ 登記冊 Tagprefix="wssawc" Namespace="Microsoft.SharePoint.WebControls" 程式集="Microsoft.SharePoint, 版本 = 12.0.0.0, 文化 = 中性, 公開金鑰 = 71e9bce111e9429c" %> <%@ 登記冊 Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" 程式集="Microsoft.SharePoint, 版本 = 12.0.0.0, 文化 = 中性, 公開金鑰 = 71e9bce111e9429c" %>
<SharePoint:RenderingTemplate ID="XYZZYCorporateLocationFieldControl" runat="伺服器">
<範本>
<asp:DropDownList ID="XYZZYCorporateLocationSelector" runat="伺服器" />
</範本>
</SharePoint:RenderingTemplate>
以上被保存到 c:\程式 filescommon filesmicrosoft sharedweb 伺服器 extensions12controltemplates.
<?xml 版本="1.0" 編碼="utf-8" ?>
<FieldTypes>
<FieldType>
<欄位 名稱="TypeName">CorporateLocations</欄位>
<欄位 名稱="ParentType">文本</欄位>
<欄位 名稱="TypeDisplayName">公司位置</欄位>
<欄位 名稱="TypeShortDescription">所有 XYZZY 公司的地點,包括製造或其他設施.</欄位>
<欄位 名稱="UserCreatable">真實</欄位>
<欄位 名稱="ShowInListCreate">真實</欄位>
<欄位 名稱="ShowInDocumentLibraryCreate">真實</欄位>
<欄位 名稱="ShowInSurveyCreate">真實</欄位>
<欄位 名稱="ShowInColumnTemplateCreate">真實</欄位>
<欄位 名稱="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, 版本 = 1.0.0.0, 文化 = 中性, 應用 = b0b19e85410990c4</欄位>
<RenderPattern 名稱="DisplayPattern">
<交換器>
<Expr>
<列 />
</Expr>
<案例 價值=""/>
<預設值>
<HTML>
<![CDATA[<大跨度風格 ="顏色:紅"><b>]]>
</HTML>
<列 SubColumnNumber="0" HTMLEncode="真實"/>
<HTML><![CDATA[</b></大跨度>]]></HTML>
</預設值>
</交換器>
</RenderPattern>
</FieldType>
</FieldTypes>
此 XML 檔將自訂資料類型添加到"庫 WSS" 和與它匹配與 gac 中了程式集.
移動後,所有這些位到位, 在伺服器和它 iisreset 應該很好地工作的所有開始.
其他類別: 加楓
在這裡 是由一個叫"克雷格偉大過帳" 查找欄位內容類型基於現實生活定義從一個網站關閉的加楓定義的技術.
他過帳說這一切. 簡介:
其他類別: Visual Studio 2005
要啟用有用的智慧感知功能, 元素, 在 visual studio 中等 2005:
為該 XML 文檔現在啟用了智慧感知.
請參閱 在這裡 關於這一主題和說明如何自動將 WSS 智慧感知與任何 XML 檔相關聯的更多資訊.
花了,並通過上述的測試今. 我發現這次考試很困難而且公平.
有相對稀缺,這次考試在 web 上的資訊. 我不知道為什麼.
我顯然不會得到任何詳細介紹了這次考試, 但我認為我可以有把握地說以下:
它列出了你需要知道,通過這次考試和它的, 國際海事組織, 很準確.
</結束>訂閱我的博客!
其他類別: InfoPath
摘要: InfoPath 2007 表單部署到 MOSS 伺服器提供廠商綁在 MOSS 的自訂清單的下拉清單. 在選擇供應商, 規則將欄位值分配給少數的如銷售代表名稱的文字欄位, 位址, 城市, 狀態, 郵編和電話. 性能很可怕. 我們注意到性能獲取更糟 (非直線的方式) 對於每個額外欄位我們更新通過這種方式. 即, 如果我們只是,更新的銷售代表名稱, 花 [x] 時間. 如果我們更新銷售代表, 位址 1, 位址 2, 城市, 狀態, 郵編, 花 10 時間更長.
解決方案: 編寫 web 服務 (可以找到的示例代碼 在這裡) 這通過一個供應商的名稱和它回返回的供應商詳細資訊. 然後, 通過這種方式指定欄位. 雖然這似乎是太慢, 有的性能沒有明顯的區別,我們分配時 1 與欄位 8 欄位. 作為額外的獎勵, 使用者可以得到"聯繫伺服器酷" 賽昂 雖然他們等待該表單以調用和消費服務結果的影響.
更新: 我們永遠不會再次確定這一問題,它從來沒有表面的根本原因.
我們注意到在開發網站的實施過程中,突然間, 兩個使用者不能訪問網站集合. 這些帳戶可以到主網站進行身份驗證, 但當試圖訪問特定網站集, 他們只是得到一個空白的螢幕. 不顯示錯誤訊息, 只是一個白色的空白頁.
我們網站集合管理員身份登錄,並嘗試添加這些使用者之一作為網站管理員,這一次, 後按下"確定", 我們得到此消息:
出現異常. (HRESULT 的異常: 0x 80020009 (DISP_E_EXCEPTION))
我們花了一些時間研究這不幸的是, 沒有提出任何有用的東西. 診斷日誌中有一些消息, 但很難完全將它們與此問題相關聯.
在結束, 我們刪除網站集,並重新創建它,解決它.
如果我弄明白是什麼導致這在未來, 我將更新這個帖子.