我正在使用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>
weekStartDay = (DayOfWeek)(((int)weekStartDay + 1) % 7);
}
</div>
错误:
c:*** \ Documents \ Visual Studio 2010 \ Projects \ MvcApplication2 \ MvcApplication2 \ Views \ Home \ Calendar.cshtml(22):错误CS0201:只能分配,调用,递增,递减和新对象表达式用作声明
答案 0 :(得分:20)
将您的代码更改为
<div class="week">
@for (int i = 0; i < 7; i++)
{
<div class="day">
@weekStartDay.ToString().Substring(0, 3)
</div>
@:
weekStartDay = (DayOfWeek)(((int)weekStartDay + 1) % 7);
}
</div>
@:告诉Razor视图引擎
是纯文本
答案 1 :(得分:3)
如果您在Visual Studio 2012中查看此代码,您将看到完全相同的错误消息。带有下划线,工具提示显示此消息。
问题是你在代码块中:@{ }
。如果要输出纯文本,则必须将其包装在HTML元素中,如下所示:
<span> </span>
或者你必须使用
@:
答案 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" })