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控件可以完美的移植过来,后面会有介绍。