2012-06-24 20 views
1

我是嘗試使用來學習Razor/MVC3,並對這個局部視圖DisplayTemplate有點麻煩。如何使用Razor從腳本塊顯示?

@{ 
    DateTime? date = ViewData.Model; 

    if(date.HasValue) { 
     date.Value.ToShortDateString(); 
    } 
} 

這就是我想要做的。很明顯,我沒有正確地做,因爲它不工作。我嘗試過幾種不同的方式,我可以想到,只收到隨機錯誤。這種方法根本不會返回任何東西。

回答

2

您不會使用此語法向頁面顯示任何內容;所有代碼都會聲明變量日期並將其設置爲模型中的值。嘗試這樣的事情......

@{ 
    DateTime? date = ViewData.Model; 
    string displayDate = ""; 

    if(date.HasValue) { 
     displayDate = date.Value.ToShortDateString(); 
    } 
} 

@displayDate 

或者更簡單,只是這樣的:

@if (ViewData.Model.HasValue) 
{ 
    <span>@ViewData.Model.ToShortDateString()</span> 
} 
+0

這些都是很好的答案,但你實際上告訴我發生了什麼事情,並讓我面對面。謝謝。 – Blanky

3

每一個地方內部代碼塊強制切換到文本模式下使用<text></text>片段。

@{ 
    DateTime? date = ViewData.Model; 
    string displayDate = ""; 

    if(date.HasValue) { 
     <text> 
       @date.Value.ToShortDateString() 
     </text> 
    } 
} 

乾杯!