0

我正在稳步前进:)
所以,我获得了一个包含产品列表的奇妙网格!
现在,有一个非常糟糕的复选框显示为布尔值。
我宁愿有一个是/否的东西。所以我用谷歌搜索并找到了这篇精彩的文章: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 在同一个程序集中。

想法?指针?

谢谢!

一个

4

0 回答 0