文档章节

C# Razor输出javascript 前端cshtml判断输出ViewBag

xiaobo137
 xiaobo137
发布于 2017/09/08 04:40
字数 288
阅读 9
收藏 0
点赞 0
评论 0

开始遇到这个问题,是源于ViewBag的一个值是个对象类型。 假设是User{ id="1",name="test" } 这样的结构。那在前端就有可能出现ViewBag.User为null的情况。

为了解决这个问题,查找资料,给出的答案是

@{

    if(ViewBag.User==null)

    {

    }

}

但这样有个问题,既然已经变成了后台代码,怎么输出前端代码呢?

于是继续寻找答案,找到了这样的代码

@if(ViewBag.User!=null)

{

     <p>@ViewBag.User.name</p>

}

于是我也照着这样写,但毕竟我这里是javascript代码,所以会出现报错。

为了解决错误,继续找资料

最后找到了最终的解决办法

<script>

var id="";

@if(ViewBag.User!=null)

{

    <text>

     id="@ViewBag.User.id";

    </text>

}

</script>

说明:通过使用<text>这个伪元素来强制Razor从编译模式返回到内容模式。

这样就轻松的解决了前端javascript判断后台传递的值的问题了。

本博客文章大多是经验积累总结,以免今后忘却,记录下来。同时感谢您的阅读,也希望能对您有所帮助。

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
xiaobo137
粉丝 34
博文 64
码字总数 33309
作品 0
长沙
项目经理
MVC3.0 中Razor 学习

随着MVC3.0RTM版本的发布,最近将公司的项目从MVC2.0升级到MVC3.0。同时打算在MVC3中全面使用Razor模板引擎。现将Razor学习拿出来和大家分享,如果存在不足的地方欢迎您指出。 其实在使用<%=...

彭博
2012/03/09
0
0
脱离MVC使用Razor模板引擎

1.非MVC下使用Razor 借助开源的RazorEngine,我们就可以在非asp.net mvc项目中使用Razor引擎了。甚至在winform项目中都可以使用Razor(就可以写一些灵活度较高的代码生成器了)。 2.工作流程...

xiao刀
2015/10/15
77
0
【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)

目录 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6) 【第二篇】ASP.NET MVC快速入门之数据注解(MVC5+EF6) 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6) 【第四篇】ASP...

三生石上
2016/12/23
327
0
Razor:从aspx到cshtml常见错误及正确书写方法

从aspx转到chshtml还是有很多要适应的地方的,本帖是个人学习笔记帖不断更新。每天开着本帖编程。 按第一个有意义的编译错误的首字母排序,便于查找: Cannot implicitly convert type 'void...

wbf961127
2017/11/13
0
0
JavaScript基础——变量-运算符-流程控制语句

JavaScript是在客户端浏览器解释执行的语言,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的: 1.ECMAScript:描述了该语言的语法和基本对象; 2.文档对象模型(Document Object M...

codejson
07/02
0
0
Js-$.extend方法使方法参数更灵活

在做JS开发时,我们将第三方复杂的插件进行封装,然后对外公开一个很简单的方法接口,这是开发时常用的方法,在JS里,我们的方法参数通常使用JQ的$.extend 扩展方法来实现 function ext...

BearCatYN
2015/04/21
0
0
ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bowe

基于Visual Studio 2015,你可以: 方便的管理前端包,如jQuery, Bootstrap, 或Angular。 自动运行任务,如LESS、JavaScript压缩、JSLint、JavaScript单元测试等。 方便的获得Web开发者生态圈...

葡萄城控件技术团队
2015/01/27
0
2
高性能JavaScript模板引擎原理解析

本文将用最简单的示例代码描述现有的 javascript 模板引擎的原理,包括新一代 javascript 模板引擎 artTemplate 的特性实现原理,欢迎共同探讨。 artTemplate 介绍 artTemplate 是新一代 ja...

李朝强
2013/07/29
0
0
MVC3 Razor视图引擎的基础语法

好久没有关注微软的开发了,今天看到了MVC3,顺便学习学习,我觉得Razor是个不错的做法,比使用<%%>简单多了,而且好看。首先“_”开头的cshtml文档将不能在服务器上访问,和asp.net中的con...

postdep
2014/02/05
0
0
asp.net mvc 4.0的部署

只要服务器支持 .NET 4,那么就能够在上面生成和部署 ASP.NET MVC 3 应用程序。 方法一(正常方法):安装 ASP.NET MVC 3 到机器上,程序集会安装到 GAC 中,机器上所有的 Web 项目都可以引用...

未来十年
2011/12/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python3.6用的外库遇到的问题

要用到wmi库 pip install wmi 装后不能用还要安装pywin32库。 要用到crypto加密模块安装pip instal pycrypto装后不能用。要安装pycryptodome。...

oisan_
6分钟前
0
0
select, poll, epoll I/O复用介绍

什么是I/O复用? 内核监视多个文件描述符(I/O文件句柄),一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知应用程序进行相应的读写操作。 I/O多路复用又被称为“事件驱动”(比如读写事...

xiaoxlm
6分钟前
0
0
【Spring 系列 给IOC容器添加组件的几种方式总结】

给Spring 注册Bean的几种方式总结。其中使用@Import注解是Spring Boot 完成自动配置的一个核心注解。 1、Spring 中给IOC容器添加组件的几种方式 在Spring的配置文件中,配置Bean(基于XML方式...

HansonReal
7分钟前
2
0
bootstrapTable语言包设置

###方法一引入不同的语言包 <script src="bootstrap-table-zh-CN.js"></script> ###方法二引入全语言包 <script src="bootstrap-table-locale-all.min.js"></script>//然后在初始化前设计默......

momo1987
8分钟前
0
0
Saltstack 常用命令

1、拷贝文件到客户端 # salt 'slaver.test.com' cp.get_file salt://apache.sls /tmp/cp.txt 2、拷贝目录到客户端 # salt 'slaver.test.com' cp.get_dir salt://test /tmp 3、显示存活的客户......

硅谷课堂
9分钟前
0
0
致初学者-如何学好Python这门编程语言?[图]

致初学者-如何学好Python这门编程语言?[图]: 对于很多Python3初学者,往往会面临以下问题:Python2和Python3我该学习哪一个?是否要安装Linux系统学习Python?Python3有各种版本我该安装哪...

原创小博客
11分钟前
1
0
E31---setopt=protected_multilib=false

今天在云服务器上装nginx,需要先安装一些依赖库比如zlib, ,但是安装zlib时候报错。 yum install -y zlib zlib-devel 1 (-y 指的是如果需要选yes no的自动y)下面是报错 Protected multil...

侠客行之石头
16分钟前
0
0
HTTP常见面试题

Http与Https的区别: HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头 HTTP 是不安全的,而 HTTPS 是安全的 HTTP 标准端口是80 ,而 HTTPS 的标准端口是443 在OSI 网络模型中,H...

JK_OPERA
17分钟前
0
0
python爬取站长素材网页图片保存到ppt中

网站地址:http://sc.chinaz.com/tupian/index.html 直接上代码: import requestsfrom bs4 import BeautifulSoupfrom pptx import Presentationfrom pptx.util import Inchesimpor......

你为什么不吃药
19分钟前
1
0
Ubuntu 18.04 swap空间的修改

一、准备工作 执行“sudo swapon -s”命令,查看是否已经存在swap file 二、修改swap file # 如果第一步存在swapfile则需要先禁用sudo swapoff /swapfile# 修改swap 空间的大小为2Gs...

Iceberg_XTY
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部