加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET MVC 3和ASP.NET MVC 4剃刀语法更改?

发布时间:2020-12-16 06:47:58 所属栏目:asp.Net 来源:网络整理
导读:我在VS2012中创建了两个应用程序 申请#1. MVC 3,NET 4.5 申请#2. MVC 4,NET 4.5 现在我打开任何.cshtml文件并添加以下代码: div@if (true){ @string.Format("{0}","test")}/div 它在应用程序#1(mvc3)中工作正常,我看到“test”字显示.但它在Application#2(m
我在VS2012中创建了两个应用程序

>申请#1. MVC 3,NET 4.5
>申请#2. MVC 4,NET 4.5

现在我打开任何.cshtml文件并添加以下代码:

<div>
@if (true)
{
      @string.Format("{0}","test")
}
</div>

它在应用程序#1(mvc3)中工作正常,我看到“test”字显示.但它在Application#2(mvc4)中不起作用.

任何人都能解释为什么会发生这种情况以及应该改变什么?

更新:我刚刚发现了一个非常奇怪的事情.如果用@ String.format(“some text”)替换@ string.format(“some text”),一切正常(注意大写字符串)

解决方法

我们在升级时遇到了类似的问题……看起来简单地写@ string.Format(“{0}”,“test”)将不再像在MVC3中那样直接写入页面.你必须做这样的事情:

<div>
@if (true)
{
      Html.Raw(string.Format("{0}","test"));
}
</div>

要么

<div>
@if (true)
{
      <text>@string.Format("{0}","test"))</text> //added @ to evaluate the expression instead of treating as string literal
}
</div>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读