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

DotnetBrowser下的easymvc和基于.net core的开发习惯完全相同,代码基本可以无缝拷贝过来。(但程序不依赖.net core :))

【事实上,DotnetBrowser底层做了大量的工作,比如模拟.net core下的命名空间以及类名等,目的是实现DotnetBrowser完美兼容.net core下的easy mvc】

请看下面的示例:

请忽略winform下面的几个按钮:)只是为了证明这是winfrom:)

大家可以看到,桌面完美宿主集成web是绝对可行的,实现的代码如下:

@Html.PartHeader()

@Html.Q().BlockRef().Title("winform真正实现的mvc!!!")

@Html.Q().Button().Text("点击我触发客户端事件").ClickClientEvent("clientEvent")
<script>function clientEvent() { layer.msg('我是客户端事件触发的'); }</script> @Html.PartFooter()

请忽略开头和结尾的一段代码,直接看@Html.Q()开头的代码,是不是和.net core下面的代码写法方式一致? 100%必须一致:)

如果大家对EasyMvc不了解,没关系,请看相关技术连载文章:http://www.cnblogs.com/chinasoft/p/8299016.html

这里只是做一个简单演示,大家可以索要源码 from me。


总结:基本上DotnetBrowser统一了MVC的桌面与网页开发。

如果读者会对.net core下的mvc控件进行扩展,那么,DotnetBrowser的mvc扩展也很容易,就是对IHtmlHelper进行扩展。

对!DotnetBrowser和.net core mvc一样,都是对IHtmlHelper进行扩展。但是DotnetBrowser仅依赖.net 4.0,不依赖.net core :)

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

DotnetBrowser高级教程-(5)使用内置的MVC UI框架-EasyMvc的更多相关文章

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

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

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

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

  3. 【Go入门教程2】内置基础类型(Boolean、数值、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值

    这小节我们将要介绍如何定义变量.常量.Go内置类型以及Go程序设计中的一些技巧. 定义变量 Go语言里面定义变量有多种方式. 使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型 ...

  4. js高级---本地对象、内置对象、宿主对象

    名词参考: 原生对象:也叫内部对象.本地对象.native object 内置对象:Build-in object 宿主对象:host object ECMA-262 定义: 原生对象:独立于宿主环境 ...

  5. Linux基础教程 linux awk内置变量使用介绍

    awk是个优秀文本处理工具,可以说是一门程序设计语言.下面是兄弟连Linux培训 给大家介绍的awk内置变量. 一.内置变量表 属性 说明 $0 当前记录(作为单个变量) $1~$n 当前记录的第n个 ...

  6. JavaScript高级:JavaScript面向对象,JavaScript内置对象,JavaScript BOM,JavaScript封装

    知识点梳理 课堂讲义 1.JavaScript面向对象 1.1.面向对象介绍 在 Java 中我们学习过面向对象,核心思想是万物皆对象. 在 JavaScript 中同样也有面向对象.思想类似. 1. ...

  7. DotnetBrowser高级教程-(4)使用MVC框架5-使用视图

    mvc框架理所当然的要支持view了,我们看下前面上传文件的地方,在展示页面时,我们使用了如下的代码: public string UploadImgPage() { return "< ...

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

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

  9. Volley HTTP库系列教程(4)Volley内置的几种请求介绍及示例,StringRequest,ImageRequest,JsonObjectRequest

    Making a Standard Request Previous  Next   This lesson teaches you to Request a String 返回String Requ ...

随机推荐

  1. CAN帧格式(标准帧、拓展帧)

    CAN2.0B标准帧 CAN 标准帧信息为11个字节,包括两部分:信息和数据部分.前3个字节为信息部分. 位置 7 6 5 4 3 2 1 0 字节01 FF RTR × × DLC(数据长度) 字节 ...

  2. 汕头市队赛 SRM14 T1 计算几何瞎暴力

    计算几何瞎暴力 (easy.pas/c/cpp) 128MB 1s 在平面上,给定起点和终点,有一面墙(看作线段)不能穿过,问从起点走到终点的最短路程. 输入格式 输入一行,包含8个用空格分隔的整数x ...

  3. ios 改变图片大小缩放方法

    http://www.cnblogs.com/zhangdadi/archive/2012/11/17/2774919.html http://bbs.csdn.net/topics/39089858 ...

  4. UVA 10359 Tiling

    考虑最左边一列和最左边两列分别可以一个纵方块:2个横方块+2*2: 则f[i]=f[i-1]+2f[i-2]; #include <map> #include <set> #i ...

  5. glxgears刷新只有60FPS解决办法

    问题原因在于屏幕的垂直同步刷新率的限制,解决办法是关闭垂直同步刷新. 编辑~/.drirc <driconf> <device screen=" driver=" ...

  6. JS或jsp获取Session中保存的值

    JS是不能读取Session中的值的 . session是服务器对象, javascript是客户端脚本,你能做的操作就是把这个值用 <%=%>输出到页面的javascript中参与运算, ...

  7. python接口自动化6-重定向(Location)【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/python%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E ...

  8. JAVA SERVLET 属性范围样例

    package com.jeelearning.servlet; import java.io.IOException; import javax.servlet.RequestDispatcher; ...

  9. Ext中点击某个东西弹出框展示

    renderer:function(v){ return '<a href="123" data-qtitle="OK Button" data-qwid ...

  10. 华农oj Problem J: 幻化【贪心/抽屉原理】

    Problem J: 幻化 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 18 Solved: 3 [Submit][Status][Web Board ...