我正在稳步前进:)
所以,我获得了一个包含产品列表的奇妙网格!
现在,有一个非常糟糕的复选框显示为布尔值。
我宁愿有一个是/否的东西。所以我用谷歌搜索并找到了这篇精彩的文章:http ://buildstarted.com/2010/09/10/overriding-displayfor-and-editorfor-to-create-custom-outputs-for-mvc/ 。
问题是他显示的输出不是有条件的,所以我的代码如下所示:
@inherits System.Web.Mvc.WebViewPage<string>
@if @Model == True
{
<span>Yes</span>
}
@else{
<span> No </span>
}
但是 VS 2013 中的一切都是曲折的,这通常是一个不祥之兆!
当我尝试运行它时,我看到了复选框。呵呵...要学习很多...
无论如何,我注意到一个与我的类似的问题,即为什么 DisplayFor 模板没有显示。我查看了 OP 的代码,注意到他放置了一个我的属性没有的 DataType 属性(现在有了)。
然而,当我尝试在我的模型中使用 DataType 属性时,VS 又变得弯曲了——不祥之兆!
当我尝试编译时,天哪,一切都崩溃了,我得到了 6 个编译错误(但至少这是一个进步,从简单地忽略一切!)。
错误是这些:
Error 1 Expected a "{" but found a "@". Block statements must be enclosed in "{" and "}". You cannot use single-statement control-flow statements in CSHTML pages. For example, the following is not allowed:
@if(isLoggedIn)
<p>Hello, @user</p>
Instead, wrap the contents of the block in "{}":
@if(isLoggedIn) {
<p>Hello, @user</p>
} c:\Users\Andrea\Documents\Visual Studio 2013\Projects\ARSoftLabs.it\ARSoftLabs.it\Views\Products\DisplayTemplates\ProductHasTrial.cshtml 2 4 ARSoftLabs.it
Error 2 ) expected c:\Users\Andrea\Documents\Visual Studio 2013\Projects\ARSoftLabs.it\ARSoftLabs.it\Views\Products\DisplayTemplates\ProductHasTrial.cshtml 1 1 ARSoftLabs.it
Error 3 Syntax error, '(' expected c:\Users\Andrea\Documents\Visual Studio 2013\Projects\ARSoftLabs.it\ARSoftLabs.it\Views\Products\DisplayTemplates\ProductHasTrial.cshtml 2 4 ARSoftLabs.it
Error 4 Invalid expression term 'else' c:\Users\Andrea\Documents\Visual Studio 2013\Projects\ARSoftLabs.it\ARSoftLabs.it\Views\Products\DisplayTemplates\ProductHasTrial.cshtml 6 2 ARSoftLabs.it
Error 5 The type or namespace name 'DataTypeAttribute' could not be found (are you missing a using directive or an assembly reference?) c:\Users\Andrea\Documents\Visual Studio 2013\Projects\ARSoftLabs.it\ARSoftLabs.it\Models\Product.cs 20 10 ARSoftLabs.it
Error 6 The type or namespace name 'DataType' could not be found (are you missing a using directive or an assembly reference?) c:\Users\Andrea\Documents\Visual Studio 2013\Projects\ARSoftLabs.it\ARSoftLabs.it\Models\Product.cs 20 10 ARSoftLabs.it
所以基本上我认为它告诉我我不了解 Jack 关于 Razor,坦率地说这是真的。无论如何,使用 System.ComponentModel 是因为 DisplayName 属性就像一个魅力,而 MSDN 声称 DataType 在同一个程序集中。
想法?指针?
谢谢!
一个