2011-05-20 14 views
2

我繼承了一個sitecore實現,我一直在試圖調試一個會員表單。成員資格頁面包含一個成員資格子布局,其中包含一個簡單的表單(第一個,最後一個地址,...)。當我在本地機器上進行調試時,填寫表單並單擊提交。頁面發回,一旦基本佈局被擊中,Sitecore.Context.ItemNULL。 有趣的部分是,如果我預覽Sitecore中的頁面,當我回發一切正常,這使我相信它只是在我的web.config或其他一些配置文件中的一些內部設置的問題。Sitecore.Context.Item NULL回發

這裏有一些變量對頁面的第一次命中,並在這兩個PREVIEW模式和普通模式回發的內容:

第一擊(預覽模式)

Sitecore.Context 
.Data.RawUrl = /?sc_itemid=%7b2A58FFA4-D16A-4EAB-8298-9398ACFDDEFB%7d&sc_mode=preview&sc_lang=en 
.Database = master 
.Item,Database = master 
.Item.Id = {2A58FFA4-D16A-4EAB-8298-9398ACFDDEFB} 
.Item.Name = Website_Membership 
.RawUrl = /?sc_itemid=%7b2A58FFA4-D16A-4EAB-8298-9398ACFDDEFB%7d&sc_mode=preview&sc_lang=en 
.Request.ItemPath = /sitecore/content/home/ 

回傳(預覽模式)

Sitecore.Context 
.Data.RawUrl = /Sites/CMS/Layouts/Membership Layout.aspx?sc_itemid=%7b2A58FFA4-D16A-4EAB-8298-9398ACFDDEFB%7d&sc_mode=preview&sc_lang=en 
.Database = master 
.Item,Database = master 
.Item.Id = {2A58FFA4-D16A-4EAB-8298-9398ACFDDEFB} 
.Item.Name = Website_Membership 
.RawUrl = /Sites/CMS/Layouts/Membership Layout.aspx?sc_itemid=%7b2A58FFA4-D16A-4EAB-8298-9398ACFDDEFB%7d&sc_mode=preview&sc_lang=en 
.Request.ItemPath = /sitecore/content/home/sites/cms/layouts/membership layout 

先打(常規模式)

Sitecore.Context 
.Data.RawUrl = /SomePath/Website_Membership.aspx 
.Database = web 
.Item,Database = web 
.Item.Id = {2A58FFA4-D16A-4EAB-8298-9398ACFDDEFB} 
.Item.Name = Website_Membership 
.RawUrl = /SomePath/Website_Membership.aspx 
.Request.ItemPath = /sitecore/content/home/somePath/website_membership 

回傳(普通模式)

Sitecore.Context 
.Data.RawUrl = /Sites/CMS/Layouts/Membership Layout.aspx 
.Database = web 
.Item = NULL 
.RawUrl = /Sites/CMS/Layouts/Membership Layout.aspx 
.Request.ItemPath = /sitecore/content/home/sites/cms/layouts/membership layout 

有沒有人經歷過和這樣的事情/或你能想到的任何理由要做到這一點?

編輯: 在sdn.sitecore論壇凱文·巴克利:

我想控制適配器 'form.browser' 缺失。它應該 位於app_browsers文件夾中。

我只是想添加一個便條。這些文件從app_browsers文件夾中丟失,但是我幾天前通過從乾淨的sitecore安裝複製它們手動添加了它們。這似乎沒有幫助。

回答

1

今天我有同樣的問題與回傳後 Sitecore.Context.Item == NULL,升級到最新的6.5 Sitecore的轉111123

後而事實證明這個問題開始出現,因爲 App_Browsers文件\ Form.browser文件在升級過程中被刪除。

當我恢復它時,此問題消失。 希望這會有所幫助。

2

您似乎要回發給Membership layout.aspx,因此您的上下文項目爲null,因爲路徑Membership Layout.aspx與項目無關。

你如何控制回髮網址?默認情況下,你遇到的問題不會發生。我不記得具體在哪裏,但是一些方法或屬性將返回sitecore項目佈局文件而不是url,正如您通常所期望的那樣。你是否在使用server.transfer?一個普通的回發將默認爲相同的網址,你在做什麼?

+0

我不認爲有任何重定向正在進行,但正如我所說,這是一種我們自己沒有開發的繼承解決方案。我們仍處於發現階段。我不明白的是,在預覽模式下,頁面如何正常工作。 – 2011-05-20 14:37:04

+0

我也認爲這是奇怪的,該頁面回發佈到佈局,而不是張貼回頁面本身。是否有可能缺少一些控制此配置的配置。 ATM我傾向於認爲代碼不應該改變,並且問題必須是我的機器上的系統配置/設置。 – 2011-05-20 14:39:06

1

檢查web.config中的<sites>部分;聽起來像你指着錯誤的數據庫,檢查你正在使用的<site>是否使用Master或Web。這也許可以解釋爲什麼它在預覽中運行良好。

1

我已經在更新到當前推薦的版本後出現同樣的問題 - Sitecore 6.4.1。 在我的情況下,正如你所看到的,我的主要佈局作爲回發操作 - 並解釋了我在前端回傳中的問題,而在Sitecore預覽中一切正常。 我糾正了這個問題,在我的MainLayout中加入action =#