2012-07-19 31 views
0

我有一個MVC視圖有幾個圖像(每頁1個)。如何在MVC視圖中處理丟失的圖像URL

實施例:

<img alt ='thumb1' src='<%= Model.ThumbnailURL %>' height="65" width="90" /> 

問題是模型可以或可以不具有一個ThumbnailURL這導致沒有設置消息中的對象引用。

如何防止圖像在不存在時加載。我不希望使用默認的圖像

回答

0

要獲得NRE(空引用除外)周圍使用Null Coalescing Operator??:if語句周圍

<img alt ="thumb1" 
    src="<%= Model.ThumbnailURL ?? "" %>" 
    height="65" 
    width="90" /> 
+0

這不起作用。如果你仍然得到一個空引用異常,我仍然得到(空引用異常) – user1526912 2012-07-19 04:23:52

+1

,你確定它不是'模型'是空的嗎? – Matthew 2012-07-19 13:36:35

+0

@ user1526912確保您傳遞模型,(即'返回視圖(模型)')。我已經看過很多次了,人們認爲他們的模型有問題,只是他們沒有把它傳遞給視圖。 – xandercoded 2012-07-19 13:40:01

1

放一個。

<% if (!string.IsNullOrEmpty(Model.ThumbnailURL)) { %> 
<img alt ='thumb1' src='<%= Model.ThumbnailURL %>' height="65" width="90" /> 
<% } %> 

編輯: 改爲WebForms的視圖引擎,我以爲你是使用RASER。

+0

我沒有使用RAZER。我知道我可以放一個if語句來驗證model.ThumbnailURL是否爲空,但是我認爲這看起來很骯髒,因爲有10個圖像。我想知道是否有更乾淨的方法來做到這一點 – user1526912 2012-07-19 04:25:50