ASP.NET中添加View与Razor引擎以及View解析和Controller向View传值
场景
ASP.NET中MVC添加Controller以及访问其Action:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106796402
在上面新建完Controller并请求方法时返回的是string类型的字符串。
如果要返回一个View要怎么办。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
新建View
上面在新建Controller时会在Views目录下新建相应的目录,这里是Hello,右击Hello,添加--带有视图的MVC5 视图页(Razor)
选择布局页,这里选择第一个,点击确定
然后取名字为Index.cshtml
建立完之后
添加之后的View可以直接右键选择在Page Inspector中查看和在浏览器中查看
如果选择了在Page Inspector中查看
这里可以使用Razor引擎进行页面设置
Razor引擎
Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法
当网页被写入浏览器时,基于服务器的代码能够创建动态内容。在网页加载时,服务器在向浏览器返回页面之前,会执行页面内的基于服务器代码。由于是在服务器上运行,这种代码能执行复杂的任务,比如访问数据库。
Razor在减少代码冗余、增强代码可读性和VS智能感知方面,都有着突出的优势。 Razor一经推出就深受所有ASP.Net开发者的喜爱。
使用Razor的语法就是在@{}之间编写C#逻辑变量,然后就可以通过@调用比如在上面新建的Index.cshtml
@{Layout = "~/Views/Shared/_Layout.cshtml";
}@{var name = "霸道的程序猿";
}
<p>公众号:@name</p>
然后上面的代码就是声明一个string 变量叫name.然后在下面的p标签中调用。
View解析
上面新增的view的布局文件的位置在Views下Shared目录下_Layout.cshtml
在这里就可以对布局文件进行修改。
上面我们新建的View页面的名字时Index.cshtml,这里的名字要与Controller下的Action即方法名对应
Controller中的方法为
public class HelloController : Controller{//// GET: /Hello/public ActionResult Index(){return View();}}
运行项目这里就可以通过
http://localhost:2730/Hello/Index
访问到Index这个View
Controller向View传递参数
在Controller中新建一个Action,并传递两个参数,其中这两个参数有默认值,即没有参数传递时的值
public ActionResult Welcome(string name = "公众号:霸道的程序猿",int count = 3){ViewBag.Name = name;ViewBag.Count = count;return View();}
然后在Views下新建一个View与Welcome同名
@{Layout = "~/Views/Shared/_Layout.cshtml";
}<h2>Welcome</h2>
<ul>@for (int i = 0; i < ViewBag.Count; i++){<li>@ViewBag.Name</li>}
</ul>}
然后运行项目在浏览器中输入
http://localhost:2730/Hello/Welcome
上面是使用默认参数的效果,下面传递参数,输入
http://localhost:2730/Hello/Welcome?name=badao&&count=5
ASP.NET中添加View与Razor引擎以及View解析和Controller向View传值相关推荐
- ASP.Net中自定义Http处理及应用之HttpModule篇
HttpHandler实现了类似于ISAPI Extention的功能,他处理请求(Request)的信息和发送响应(Response).HttpHandler功能的实现通过实现IHttpHandle ...
- ASP.NET中利用ashx实现图片防盗链
盗链的危害我就不说了,网上有很多. 直接分析盗链原理:看下面用httpwatch截获的http发送的数据 GET /Img.ashx?img=svn_work.gif HTTP/1.1 Accept: ...
- asp.net 中配置 FreeTextBox详解
FreeTextBox 是一个开源的服务器控件.我们可以轻松地将其嵌入到 Web Forms 中实现HTML内容的在线编辑.如图所示: 这就是我们在网页上编辑文字时经常使用的东西. 用asp.net做 ...
- ASP.NET MVC的Razor引擎:IoC在View激活过程中的应用
在<ASP.NET MVC的Razor引擎:RazorView>介绍BuildManagerCompiledView的时候,我们谈到默认使用的ViewPageActivator使用当前注册 ...
- asp.net mvc3 Razor引擎中@使用规则小记
项目中前台用的是asp.net mvc3,Razor引擎(关于Razor的介绍可以参考:http://weblogs.asp.net/scottgu/archive/2010/07/02/introd ...
- 007.Adding a view to an ASP.NET Core MVC app -- 【在asp.net core mvc中添加视图】
索引: 目录索引 Adding a view to an ASP.NET Core MVC app 在asp.net core mvc中添加视图 2017-3-4 7 分钟阅读时长 本文内容 1.Ch ...
- 体验 ASP.NET Core 1.1 中预编译 MVC Razor 视图
这是从 ASP.NET Core 1.1 官方发布博文中学到的一招,可以在 dontet publish 时将 Razor 视图编译为 .dll 文件. 需要在 project.json 中添加如下配 ...
- 通过源代码研究ASP.NET MVC中的Controller和View(二)
通过源代码研究ASP.NET MVC中的Controller和View(一) 在开始之前,先来温习下上一篇文章中的结论(推论): IView是所有HTML视图的抽象 ActionResult是Cont ...
- ASP.NET 5系列教程 (四):向视图中添加服务和发布应用到公有云
向视图中添加服务 现在,ASP.NET MVC 6 支持注入类到视图中,和VC类不同的是,对类是公开的.非嵌套或非抽象并没有限制.在这个例子中,我们创建了一个简单的类,用于统计代办事件.已完成事件和平 ...
最新文章
- python 没反应 生成exe_通过 pyinstaller 将 python 脚本打包成可执行程序!
- IE下的li有空白问题
- 百度二面:一个线程OOM了,其它线程还能运行吗?
- python详细安装教程3.7.0-Linux 安装Python3.7.0
- robotframe使用之时间控件
- java深拷贝和浅拷贝_Java 深拷贝浅拷贝 与 序列化
- 丁磊:阿里网易员工很多是夫妻
- 机器学习霸占高薪榜、区块链偃旗息鼓?2020 年软件工程师状况解读!
- 小学计算机图形组合教案,小学三年级信息技术下册组合图形名师公开课优质教案人教版...
- npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! taoism@1.0.0 dev: `webpack-dev-server --inline --
- Verilog设计参数化的译码器与编码器,以及设计4位格雷码计数器
- The Operation couldn't be completed.(LaunchServicesError error 0.) 的解决方法
- python数据可视化方法和库
- 如何删除win10更新文件并彻底解决win10自动更新问题?
- 2021年烷基化工艺考试题及烷基化工艺多少钱
- 今日科技联播:滴滴5000亿上市计划或受影响,高德地图暂时下线顺风车业务
- PDF 格式的文件编辑难度非常大, 相比 DOCX 格式,它存在的意义是什么?
- python古典问题兔子问题_古典兔子问题
- WEB超大文件上传与下载
- Learning Synergies between Pushing and Grasping with Self-supervised Deep Reinforcement Learning
热门文章
- java 一年 周数_在java,如何找到一年的总周数?_java_酷徒编程知识库
- java json自定义_java返回json设置自定义的格式
- emc整改措施及案例_12.5EMC一点通||EMC整改措施
- 9-Qt6 QString和QChar
- 小米4c手机显示无服务器,小米4c的出现让小米2S用户终于找到换手机的理由! _手机资讯...
- linux vim(gvim) 多标签页,Vim 的标签页功能
- sv队列和动态数组的区别_systemverilog学习(4)动态数组
- ssh登录远程服务器_设置iTerm2免密登陆ssh远程服务器
- php超链接访问,怎么给一个PHP密码访问页面加超链接
- python必学_Python必学框架