Razor:从aspx到cshtml常见错误及正确书写方法

http://blog.csdn.net/cheny_com/article/details/6298496

从aspx转到chshtml还是有很多要适应的地方的,本帖是个人学习笔记帖不断更新。每天开着本帖编程。

按第一个有意义的编译错误的首字母排序,便于查找:



Cannot implicitly convert type ‘void‘ to ‘object‘

错误:@Html.RenderPartial("_XXXX", Model);

正确:@{Html.RenderPartial("_XXXX", Model);}

其他:这个写法深刻表明了“<% xxx;%>”这样的代码变成了@{xxx;}。

不过感觉这个写法很丑,是否有更好的?



‘object‘: type used in a using statement must be implicitly convertible to ‘System.IDisposable‘

错误:@using "...";

正确:@using ... ;(把引号去掉)

说明:可以这样理解,这里的东西除了多了个@之外,都和cs文件中的语法一样了。



The name ‘i‘ does not exist in the current context

错误:
@{
    <table>
           for (int i = 0; i <= 15; i++)
            {
                <tr>
                     //这里用到了i
                </tr>
            }
   </table>
}
正确:

<table>
           @for (int i = 0; i <= 15; i++)
            {
                <tr>
                     //这里用到了i
                </tr>
            }
   </table>

任何<>都将从C#语法变到html语法,而@{}则相反。

-----------------------------------------------------------------------------------------------

不好:(也能运行)

<td>
            @foreach (var user in Roles.GetUsersInRole((string)ViewBag.OldRole))
            {
                <text>@user<br /></text>
            }
        </td>
好:

<td>
            @foreach (var user in Roles.GetUsersInRole((string)ViewBag.OldRole))
            {
                @user<br />
            }
        </td>
说明:@除了能把语境从html变成cs,也能做相反的变化。这样代码的简洁性就好多了。

说明:本以为Razor想把“Html中镶嵌C#”变成"C#中镶嵌Html"(类似Helper),看来也不尽然。后者的好处是可以被测试,而前者不行。在推出Razor的时候官网曾经提到要让Razor可测试,不知道如何实现,拭目以待。

点击下载免费的敏捷开发教材:《火星人敏捷开发手册

时间: 2024-08-08 20:30:53

Razor:从aspx到cshtml常见错误及正确书写方法的相关文章

coreseek常见错误原因及解决方法

coreseek常见错误原因及解决方法 Coreseek 中文全文检索引擎 Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索.论坛/站内搜索.数据库搜索.文档/文献检索.信息检索.数据挖掘等应用场景,用户可以免费下载使用 本文为大家整理了coreseek/sphinx中文检索引擎的常见问题和解决方法,感兴趣的同学参考下. Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协

LAMP系列之PHP编译过程中常见错误信息的解决方法

LAMP系列之PHP编译过程中常见错误信息的解决方法 在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决.以下是具体的一些解决办法: ******************************************************************************* checking for BZip2 support- yes checking  for BZip2 in default path- not foun

PHP编译过程中常见错误信息的解决方法

PHP编译过程中常见错误信息的解决方 checking for BZip2 support- yes checking for BZip2 in default path- not found configure: error: Please reinstall the BZip2 distribution Fix: yum install bzip2-devel checking for cURL support- yes checking if we should use cURL for

微信小程序常见错误及基本排除方法

也接触了不少人解决问题的过程里,有一些比较难以排查的可能性列举在这,方便大家看一下: 也欢迎大家把自己常用的排除方法列举在这,一起互相学习探讨! 1:ES6:使用es6可能导致安卓端真机调试时很多问题出现,还有其他未知问题:原因未知: 2:字母拼错,包括字母拼写错误,大小写没有注意:微信小程序中,有大量这样的代码示例,从中间冒出一个大写,比如支付中的appId 3:官方文档示例代码有误,有时官方文档示例代码也会出现问题,比如大小写出错,或者其他缺少参数等问题: 4:https,这个坑目前遇到的人

FindBugs常见错误描述和解决方法

(一)[DLS_DEAD_LOCAL_STORE]描述: Dead store to 未使用的局部变量解决方法:局部变量定义后未使用:实例化对象后又重新对该对象赋值 (二) [ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD] 描述:Write to static field 通过实例方法更新静态属性常见于常量类,直接通过类名.常量名获取的方式违背了封装的原则,findbugs不提倡使用,而如果将常量改成静态成员变量,又因为spring不支持静态注入导致不能实现,解

用javah 导出类的头文件的常见错误及正确的使用方法

今天在开发一个android项目的时候,需要用javah命令从android项目生成的CLASS文件中导出JNI的C语言头文件,但是报错了,如下图所示: 图1 图2 首先纠正一下图1中的错误:在windows的cmd窗口下,用cd  F:\...\...这样的命令不能定位到F:\...\...目录下,必须先输入F:,再按enter键,才能进入F:\...\...目录. 对于图2的错误,我参考了这篇文章:http://blog.csdn.net/hejinjing_tom_com/article/

【原创】XAF 常见错误以及对应解决方法

1.Appearance Criteria设置错误 Exception occurs while assigning the 'DetailView, ID:xxx_DetailView' view to WinWindow: single criterion expected 参数名: stringCriteria 解决方法:检查此Bo的Appearance Criteria 是否存在错误 下面是我手滑的效果. 2. 原文地址:https://www.cnblogs.com/GundamPet

python常见错误类型及解决方法

1.IndentationError:缩进错误 如: IndentationError: unindent does not match any outer indentation level IndentationError: unexpected indent 原文地址:https://www.cnblogs.com/xybin/p/11336082.html

CentOS编译PHP过程中常见错误信息的解决方法

原文链接:http://www.linuxidc.com/Linux/2014-05/102327.htm ******************************************************************************* checking for BZip2 support- yes checking for BZip2 in default path- not found configure: error: Please reinstall the