具体东西就不多说了,所有编译,代码都是木有问题的。

  结果预览页面的时候竟然告诉我编译错误,尼玛这不科学啊。

  来看看错误页面

看着问题大概应该是缺少} ,或者多了个} 倒置的编译错误才对,但是编译生成完全没有问题啊,没办法,既然报这个问题,那肯定是最终合并生成的代码文件存在bug

那到底是哪里出的问题呢,没办法,硬着头皮查吧。

1.显示试着调试运行了一下页面,发现后台完全没问题。return view() 后,就出现了黄页。 那问题应该就是在html页面中了,那就来看看html页面中有些什么吧。

一般的html,即便是错了也不会影响编译才对,更何况使用vs的自动对齐,是可以对齐代码的,一眼看去,应该是没有问题的。那估么这问题就应该在开头了。先来看看

页面的部分代码吧

@using Junph.Entities.EShop

@{
ViewBag.Title = "结算中心"; var contactList = (IList<CRM_UserContact>) @ViewBag.ContactList;
CRM_UserContact defaultContact = null;
if (contactList != null)
{
defaultContact = contactList[0];
}
} <header>
<div class="top">
<div class="backicon"><a href="javascript:history.back()" target="_self"></a></div>
<div class="titleFont">@ViewBag.Title</div>
<div class="shopicon"><a href="@Url.Action("Index","Cart")" target="_self"></a></div>
</div>
</header>

  这是html页面的开头的一部分代码。后面的html就没有贴出了,没什么意义了。

要说是}花括号的问题,那就只有一种可能了, 其中花括号的嵌套可能出现了问题。那到底是什么问题呢。先尝试去掉判断的代码试试吧。

靠,果然没有问题了,页面至少是显示出来了。那问题肯定就在这里了。

razor语法印象中这么写应该是没问题的吧。于是乎在确认了下,语法确实没有问题啊。

http://blog.csdn.net/pasic/article/details/7072340

那就很奇怪了,难道是bug?,于是乎换了中写法,将判断逻辑单独写在了一个代码块中(其实可以直接用三元表达式?:避免这个问题,这里主要是为了看看究竟)

@{
if (contactList != null)
{
defaultContact = contactList[0];
}
}

  再预览页面,没有问题。呵呵,我只能说坑啊,倒霉碰上了。

mvc中razor的一个bug的更多相关文章

  1. 学习MVC中出现的一个BUG

    BUG描述:No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.S ...

  2. 关于MVC中DropDownListFor的一个bug

    如以下代码: //后台 代码 ViewData["source_type"] = new List<SelectListItem> { "}, "} ...

  3. mvc中动态给一个Model类的属性设置验证

    原文:mvc中动态给一个Model类的属性设置验证 在mvc中有自带的验证机制,比如如果某个字段的类型是数字或者日期,那么用户在输入汉字或者英文字符时,那么编译器会自动验证并提示用户格式不正确,不过这 ...

  4. 从项目经理的角度看.net的MVC中Razor语法真的很垃圾.

    我们知道,Razor语法中我们可以直接使用@if(){}等代码段,这使得.net程序员在写模版时更容易了. 对比如下: 语法名称 Razor 语法 Web Forms 等效语法 代码块(服务端) @{ ...

  5. MVC 中 Razor 无限分类的展示

    在MVC的Razor视图展示无级分类的办法,在网上看了很多资料,大多搞得很高大上.可能本人水平有限,实在是不会用. 那我就用最简单爆力的办法来做. Model: public class NewsCa ...

  6. MVC 中 Razor引擎学习:RenderBody,RenderPage和RenderSection

    RenderBody 在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中.在这个页面中,会看到 标签里有这样一条语句: @Rend ...

  7. MVC中Razor的使用 及路径问题

    语法: @ 可以编写一条C#语句@{} 可以编写一组C#语句@: 将文字内容直接输出到页面上去@() 在一句中将一段C#代码包括起来,证明这一句完整的C#代码 引用命名空间:@using 空间名称 H ...

  8. MVC中Razor视图基本语法(1)

    Razor前面,必须要跟前面的有空隙,即空格(多谢一楼提醒,url里面确实不用空格,如果要在url里面只需要@(ViewBag.),加上括号就好了),之后的必须要连贯,否则加小括号 1,在页面中输出单 ...

  9. Silverlight:telerik RadControls中RadGridView的一个Bug及解决办法(转载)

    当RadGridView中嵌套RadComboBox,且RadGridView的高度不够出现滚动条时,上下拉动滚动条后,RadComboBox中的选中值将丢失! 如下图: 滚动条未拖动前 滚动条上下拖 ...

随机推荐

  1. 使用wsimport生成不带JAXBElement对象的代理

    如果想使用wsimport生成不带JAXBElement对象的代理,则可以使用jaxws/jaxb绑定文件,如文件命名为binding.txt,内容如 <jaxb:bindings versio ...

  2. 2.css字体单位

    这期简单说说css字体单位 字体单位有三种:px.em.rem 任意浏览器的默认字体高都是16px.所有未经调整的浏览器都符合: 1em=16px. % 百分比 in 英寸 cm 厘米 mm 毫米 e ...

  3. Servlet中编码在过滤器中的使用

    1.先配置web.xml ->配置过滤器 // filter-class 为写的过滤器类 实现 Filter 接口 <filter> <filter-name>Encod ...

  4. Team Foundation Server 基本功能

    Team Foundation Server(以下简称TFS)作为Microsoft发布的一个主要用于团队源代码管理工具,以敏捷开发作为其最大的特点而占领部分市场.该文主要介绍 TFS 在 Visua ...

  5. YIi2 Pjax简单使用

    1.点击事件需要在Pjax::begin() 和Pjax::end()范围内 2.需要在链接配置数组后加上  ['data-pjax'=>'#testPjax'] 其中,'#testPjax‘是 ...

  6. Maven项目搭建(一):Maven初体验

    今天给大家介绍一个项目管理和综合工具:Maven. Maven: maven读作 ['meivin],本意是指可以被信任的领域专家,致力于传播知识(来自于http://en.wikipedia.org ...

  7. 使用RecyclerView实现的分组列表。

    项目介绍: StickyHeaders使用RecyclerView实现的分组列表

  8. 使用git克隆指定分支的代码

    今天想学习一下开源中国Android客户端的app源码,源码的Git地址:http://git.oschina.net/oschina/android-app,如下图所示: 由于Master主分支上没 ...

  9. [Openfire]使用WebSocket建立Openfire的客户端

    近日工作闲暇之余,对IM系统产生了兴趣,转而研究了IM的内容.找了半天,知道比较流行的是Openfire的系统,Openfire有许多平台实现,由于我是做Web的,所以当然是希望寻找Web的实现.Op ...

  10. DBProxy 入门到精通系列(二):DBProxy快速入门教程

    这里主要用来了解有关DBProxy方面的部署及基本的配置,以及模拟架构 1 DBProxy方面的安装部署 1)基础环境的部署 # .x86_64 Percona-Server-client-.x86_ ...