在Visual Studio 10中使用ASP.NET MVC3

时间:2012-12-10 07:11:51

标签: asp.net-mvc-3 visual-studio-2010 whitespace

我正在使用Visual Studio 2010 Professional版在ASP.NET MVC3框架中开发应用程序。

我遇到过需要文字空格字符的情况,通常是在HTML中添加 (类似的东西)。

但是,程序会产生运行时错误。

我如何克服这个问题?

代码:

<div class="week">
    @for (int i = 0; i < 7; i++)
    {
        <div class="day">
            @weekStartDay.ToString().Substring(0, 3)
        </div>            
&nbsp;
       weekStartDay = (DayOfWeek)(((int)weekStartDay + 1) % 7);
    }
</div>

错误:

c:*** \ Documents \ Visual Studio 2010 \ Projects \ MvcApplication2 \ MvcApplication2 \ Views \ Home \ Calendar.cshtml(22):错误CS0201:只能分配,调用,递增,递减和新对象表达式用作声明

4 个答案:

答案 0 :(得分:20)

将您的代码更改为

<div class="week">
    @for (int i = 0; i < 7; i++)
    {
        <div class="day">
            @weekStartDay.ToString().Substring(0, 3)
        </div>            
       @:&nbsp;
       weekStartDay = (DayOfWeek)(((int)weekStartDay + 1) % 7);
    }
</div>

@:告诉Razor视图引擎&nbsp;是纯文本

答案 1 :(得分:3)

如果您在Visual Studio 2012中查看此代码,您将看到完全相同的错误消息。带有下划线,工具提示显示此消息。

问题是你在代码块中:@{ }。如果要输出纯文本,则必须将其包装在HTML元素中,如下所示:

<span>&nbsp;</span>

或者你必须使用

@:&nbsp;

答案 2 :(得分:1)

只需使用add @:before&amp; nbsp

答案 3 :(得分:0)

对于下拉列表中的每个列表项,您必须将列表项值替换为.Replace(" ", "\u00A0")

例如:

<小时/> 控制器中的

 var Listval =(from u in yourtablename select u.YourColumnName.Replace(" ", "\u00A0")).Distinct().ToList();
  ViewBag.DDlVals= new SelectList(Listval);
<查看页面

中的

@Html.DropDownListFor(model => model.YourColumnName, (SelectList)ViewBag.DDlVals, "--Select--", new { @class = "form-control" })