0
我已經開始編寫事件處理程序。 起初,我用硬編碼值將一些項目添加到列表中。 一切工作正常,但後來我切換到使用properties.OpenWeb()並試圖獲得與web.Url.ToString()
的URL - 這樣的處理程序將無法正常工作,並不會發出任何錯誤。Sharepoint - 項目添加的eventhandler屬性不起作用
我必須更改任何配置嗎? 你有辦法解決我的問題嗎?
順便說一句,如果我嘗試獲取值,它們都是空值。
我正在使用WSS 3.0和VS 2008,請參閱下面的代碼,謝謝!
public override void ItemAdded(SPItemEventProperties properties)
{
SPSite site = new SPSite("http://air_sim:1431/");
SPWeb web = site.RootWeb;
SPList List = web.Lists["Announcements"];
base.ItemAdded(properties);
SPWeb web1 = properties.OpenWeb();
SPListItem newitem = List.Items.Add();
newitem["Title"] = "test";
newitem["Body"] = web1.Url.ToString();
newitem.Update();
}
順便說一下,我發現這段代碼在msdn上。 它不起作用。沒有錯誤,沒有錯,沒有錯,條件是真的。
public override void ItemAdding(SPItemEventProperties properties)
{
using(SPWeb oWebsite = new SPSite(properties.SiteId).OpenWeb(properties.RelativeWebUrl))
{
SPListItemCollection collItems = oWebsite.Lists[properties.ListTitle].Items;
if (collItems.Count >1)
{
properties.Cancel = true;
properties.ErrorMessage = "Adding items to this list is not supported because it already contains " +
collItems.Count.ToString() + " items.";
}
}
}
你怎麼知道沒有錯誤?你看過日誌嗎?如果失敗,ItemAdded處理程序將不會在瀏覽器中生成錯誤消息。 –
您不應在Added事件處理程序中更新值,而應使用添加,發佈原始代碼。 ... –
起初爲您的提示hans。我在哪裏找到日誌文件?我查看了Common Files/Microsoft Shared/web server extensions/12,但沒有像某些教程中描述的日誌文件。 – Fabian