一,bool类型
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
@{ bool isOK = true;}
<div style="color:@(isOK ? "red" : "green")">rupeng.com</div><br />
<div style="color:@(isOK ? "green" : "red")">rupeng.com</div><br />
</body>
</html>
效果如下:用到bool变量之前,需要给个true值护着false值,否则会出错。
html标签的任何属性的值如果是C#的值,如果是bool类型的值,如果是值是false,则不会渲染这个属性,如果值是true,则会渲染成“属性值=属性名”,比如:
@{
bool b1 = true;
bool b2 = false;
}
<aaa herf="/1.html" checked="@b1" ac="@b2">aaa</aaa>
二,链接
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
@{ string s1 = "<a href = 'www.rupeng.com'>rupeng</a>";}<br />
@s1<br/>
@Html.Raw(s1)<br />
@{bool b1 = true ; }
<span hello="@b1">88888888888</span><br />
@this.GetType().Assembly.Location
</body>
</html>
cshtml是编译生成的一个动态的程序集,在cshtml中写 @this.GetType().Assembly.Location 可以拿到编译生成的程序集的dll文件的路径,反编译可以看到cshtml最终生成的一个类,类中就是在拼接html,类是继承自WebViewPage,后续用的@Modell,@Html等都是WebViewPage类中的成员。
raw可以讲字符形式的链接转变的真正的链接。
效果如下: