2010-04-13 22 views
0

我使用TempData和ViewData來顯示asp mvc應用程序的消息。他們是網站管理員的一部分。 由於某些原因,TempData或ViewData都不顯示任何信息。他們在開發環境中按照預期工作,但不在生產環境中工作。TempData和ViewData不在部署的ASP MVC應用程序中呈現

任何想法,我需要看什麼設置?

的代碼是這樣的:

<% if (TempData["errorMsg"] != null) 
    { %> 
     <h2><%= TempData["errorMsg"]%></h2> 
<% } %> 

回答

0

你有任何的更多信息?

你能確定errorMsg的TempData被設置,而不僅僅是空的嗎?

1

TempData幕後依靠Session,所以如果你有它禁用,或禁用cookie可能無法正常工作。至於ViewData,如果您在控制器操作中設置了一個值,則沒有理由在視圖中不顯示此值。

+0

+1如果生產是一個負載平衡Web Farm而不是一臺服務器,可能會導致Session/TempData無法工作。 – 2010-08-25 03:03:32

0

您應該使用Keep或Peek方法多次檢索TempData。因爲如果一旦讀取了「TempData」,它將不會在隨後的請求中使用。 對於您的代碼,我認爲使用Peek方法更合適。

<h2><%= TempData.Peek("errorMsg").ToString() %></h2>