razor和cshtml其实是服务器解析
js是客户端解析
razor(后台数据) 可以和 cshtml结合 也可以跟js 结合使用
<text></text>是切换内容模式 可以理解为当前环境内容
就是说现在如果是在js中 script标签里面 加上text 就可以再里面写js
如果是在div标签页面元素里面使用text 就可以写html内容 也可以加上script标签写js
注意:razor其实就是后台方法 后台数据 加载页面的时候在服务器上也会一并加载razor写法的内容
当页面元素展现出来之后 在客户端去解析js脚本 而这个时候其实razor所写的内容已经不存在了
所以razor不可以使用js变量 因为js是在razor之后解析的 而js可以使用razor变量数据
当然了在text中的内容还是可以使用当前环境的一些属性和一些变量
eg:
razor与js结合 可以直接在页面中写text中在加一步script 也可以在js中直接写
@foreach (var item in busseat)
{
if (!string.IsNullOrEmpty(item.UnavailableSeat))
{
<text><script>$("img[alt='@item.UnavailableSeat']").attr("src", "/asset/img/seat-assignment_files/seat-1.png");</script> </text>
}
}
<script>
@foreach (var item in busseat)
{
if (!string.IsNullOrEmpty(item.UnavailableSeat))
{
<text>$("img[alt='@item.UnavailableSeat']").attr("src", "/asset/img/seat-assignment_files/seat-1.png");</text>
}
}
</script>
razor与页面结合
<input type=checkbox @if(条件满足就选中){<text>checkd="checked"</text>}>
使用变量
<script>
var s="js";
@foreach (var item in busseat)
{
if (!string.IsNullOrEmpty(item.UnavailableSeat))
{
var ss="razor";
//这个时候 text文本中 本质是js 但是可以使用变量s 也可以使用@ss razor变量
<text>s </text>
<text>@ss </text>
}
}
</script>