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

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

  来看看错误页面

看着问题大概应该是缺少} ,或者多了个} 倒置的编译错误才对,但是编译生成完全没有问题啊,没办法,既然报这个问题,那肯定是最终合并生成的代码文件存在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. 重新认识JavaScript

    JavaScrpit在我眼中一直是web前端脚本语言,而这段时间的一些工作,让我对JavaScript有了一个全新的认识. 公司准备启动的一个手游项目,服务器端准备使用网易的开源框架pomelo.po ...

  2. 3385: [Usaco2004 Nov]Lake Counting 数池塘

    3385: [Usaco2004 Nov]Lake Counting 数池塘 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 22  Solved: 21 ...

  3. 剑指offer_(4)

    重建二叉树: 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字. 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍 ...

  4. Python3处理配置文件

    1.说明:python3使用configparser模块来处理ini配置文件.2.代码示例:需要生成conf.ini配置文件如下:[config]v1 = 100v2 = abcv3 = truev4 ...

  5. SQL_Join 小总结

    原文出自 :http://www.nowamagic.net/librarys/veda/detail/936 对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多in ...

  6. android 仿摩拜单车共享单车进度条实现StepView

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6552712.html 先看效果图: Step1:定义StepBean 定义五个状态,分别为:为完成.正在进行 ...

  7. Java基础——深入理解Java中的final关键字(转载)

    Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...

  8. C++获取字符cin,getchar,get,getline的区别

    原创作品,转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5241544.html 1.cin>> 1)最常见的是获取输入的一个字符或数字,如 in ...

  9. [原创]HBase学习笔记(3)- Java程序访问HBase

    这里介绍使用java api来访问和操作HBase,例如create.delete.select.update等操作. 1.HBase配置 配置HBase使用的zookeeper集群地址和端口. pr ...

  10. Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程

    1.选取三台服务器(CentOS系统64位) 114.55.246.88 主节点 114.55.246.77 从节点 114.55.246.93 从节点 之后的操作如果是用普通用户操作的话也必须知道r ...