mvc框架理所当然的要支持view了,我们看下前面上传文件的地方,在展示页面时,我们使用了如下的代码:

        public string UploadImgPage()
{
return "<form action='/User/UploadImg' method='post' enctype='multipart/form-data'><input type='file' name='file'/><input type='submit' value='submit'/></form>";
}

这段代码是不优雅的,我们可以将其移到view视图里面,请看下面的操作:

1、增加Views目录,在Views目录下增加UploadImgPage目录

2、在UploadImgPage目录下增加UploadImgPage.cshtml文件,将该文件设置为“如果较新则复制”,代码如下:

<form action='/User/UploadImg' method='post' enctype='multipart/form-data'>
<input type='file' name='file' />
<input type='submit' value='submit' />
</form>

3、修改UserController.cs里的方法UploadImgPage为:

        public string UploadImgPage()
{
return View();
}

4、按F5输入 http://127.0.0.1:8000/User/UploadImgPage ,应该可以看到如下结果:

至此,基于View的内容就讲到这里,事实上,您还可以传递视图名和数据到View方法里。

另外需要注意,默认情况下:

1、dotnetbrowser支持razor语法,因此各种循环判断都可以使用

2、Html扩展了以下三个方法:@Html.PartHeader()、@Html.PartHeader()与@Html.Partial(),其中Partial签名为:(string templateName = null, object data = null)

3、强类型写法如下:

@{
var model = (User)@Model;
}

总结:您可以看到,能支持视图,并且基本接近微软的mvc web开发,是dotnetbrowser很重要的一个亮点,这意味您不仅可以用html5开发您的页面,甚至您可以扩展自己的mvc服务器控件。

如基于.net core 2.0 的easymvc控件可以完美的移植过来,后面会有介绍。

源码下载请浏览:http://www.cnblogs.com/chinasoft/p/8379662.html

DotnetBrowser高级教程-(4)使用MVC框架5-使用视图的更多相关文章

  1. DotnetBrowser高级教程-(4)使用MVC框架1-搭建基础框架

    我们这次重点介绍下MVC框架的使用. 如果您之前使用过微软的mvc web框架,那么dotnetbrowser的mvc框架相信您也会很快上手,两者之间相似度约有80%. 所谓的mvc,以一个例子为例: ...

  2. DotnetBrowser高级教程-(4)使用MVC框架2-接收与返回模型

    在上一节,我们搭建了基本的mvc框架,这一节,我们将实现数据的接受与返回,具体操作如下: 1.新建Model目录,新增模型类Person.cs,代码如下: public class Person { ...

  3. DotnetBrowser高级教程-(4)使用MVC框架3-文件上传

    网站有时候需要上传文件,本节以上传一张图片为例,在UserController.cs里添加如下代码: public string UploadImgPage() { return "< ...

  4. 2.MVC框架开发(视图开发----基础语法)

    1.区别普通的html,在普通的html中不能将控制器里面的数据展示在html中. 在MVC框架中,它提供了一种视图模板(就是结合普通的html标签并能将控制器里传出来的数据进行显示) 视图模板特性: ...

  5. DotnetBrowser高级教程-(5)使用内置的MVC UI框架-EasyMvc

    如果DotnetBrowser只是实现了内置chrome浏览器和web/web socket server,似乎还不是很完美.因此,最新的DotnetBrowser已经内置对easy mvc控件的支持 ...

  6. DotnetBrowser高级教程-(4)使用MVC框架4-过滤器

    dotnetbrowser内置了过滤器,所谓过滤器,就是实现了Action前后拦截,请看下例: 1.增加目录Filters,在该目录下增加新的过滤器PerformanceFilter,代码如下: pu ...

  7. swift与OC混编高级教程之混编框架的创建和调用

    首先创建一个project取个名字叫“MyMixed”,选择iOS-framework&library-cocoa touch framework 然后在里面创建一个SwiftView.swi ...

  8. IceMx.Mvc 我的js MVC 框架 二、视图的数据绑定

    介绍 本人菜鸟,一些自己的浅薄见解,望各位大神指正. 本框架有以下优点 1.简单(调用简单.实现简单.不过度设计) 2.视图.控制器.模型分离(分离对于维护十分有必要) 3.组件化(每一个mvc模块儿 ...

  9. DotNetBrowser入门教程(更新完善中)

    DotNetBrowser 希望实现的目标:桌面软件可以完美运行Html5,内置支持MVC与WebSocket的微型服务器. 基于.Net 4.0开发.开发环境:VS2017,运行环境支持Window ...

随机推荐

  1. Centos安装后的一些必要处理工作

    1永久关闭selinux,修改成permissive或者disabled(建议),修改完需重启 2配置network 3.禁止ping(可选,一般不需要禁止)(默认为0位启用ICMP协议,1为禁止), ...

  2. 【bzoj4419】[Shoi2013]发微博 STL-set

    题目描述 刚开通的SH微博共有n个用户(1..n标号),在短短一个月的时间内,用户们活动频繁,共有m条按时间顺序的记录: ! x   表示用户x发了一条微博: + x y 表示用户x和用户y成为了好友 ...

  3. 【bzoj4940】[Ynoi2016]这是我自己的发明 DFS序+树上倍增+莫队算法

    题目描述 给一个树,n 个点,有点权,初始根是 1. m 个操作,每次操作: 1. 将树根换为 x. 2. 给出两个点 x,y,从 x 的子树中选每一个点,y 的子树中选每一个点,如果两个点点权相等, ...

  4. THUWC2018 题解

    2018清华冬令营 又一次由于接连而至的玄学现象跪惨,错失良机,就不再公开提我这次惨痛的经历了,写点干货-- day1 A 零食 (1s, 1G) 试题简述 \(n\) 种物品1,\(m\) 种物品2 ...

  5. [bzoj] 2716 天使玩偶 || CDQ分治

    原题 已知n个点有天使玩偶,有m次操作: 操作1:想起来某个位置有一个天使玩偶 操作2:询问离当前点最近的天使玩偶的曼哈顿距离 显然的CDQ问题,三维分别为时间,x轴,y轴. 但是这道题的问题在于最近 ...

  6. [codeforces] 527A Playing with Paper

    原题 简单的gcd #include<cstdio> #include<algorithm> typedef long long ll; using namespace std ...

  7. 「BZOJ4029」[HEOI2015] 定价 贪心

    「BZOJ4029」[HEOI2015] 定价 2015年4月28日2,7490 Description 在市场上有很多商品的定价类似于 999 元.4999 元.8999 元这样.它们和 1000 ...

  8. 判断pc还是手机打开跳转到别的网页

    function is_mobile() { var regex_match = /(nokia|iphone|android|motorola|^mot-|softbank|foma|docomo| ...

  9. 快速了解Android重要机制

    转自 http://www.jianshu.com/p/5f6d79323923 一.Android系统底层研究 关于底层的知识点不是在一篇文章中能讲解清楚,参见本人的Android底层研究系列,不断 ...

  10. matlab fft demo

    clf; fs=32;N=1024;   %采样频率和数据点数 n=0:N-1; t=n/fs;   %时间序列 x=1*sin(t); %信号 y=fft(x,N);    %对信号进行快速Four ...