Taurus.MVC WebMVC 入门开发教程3:数据绑定Model
前言:
在这篇 Taurus.MVC WebMVC 入门开发教程的第三篇文章中,
我们将重点介绍如何进行数据绑定操作,还会学习如何使用 ${属性名称} CMS 语法来绑定页面上的元素与 Model 中的属性。
步骤1:创建 Model
首先,我们需要创建一个 Model 类来存储数据。
在 Visual Studio 中,右键单击项目文件夹,选择「添加」-> 「新建项」。在弹出的对话框中,选择「类」,并命名为「User.cs」。
在 User.cs 类中,我们可以定义一些属性来表示用户信息,例如姓名、年龄等。
public class User
{
public string Name { get; set; }
public int Age { get; set; }
}
步骤2:更新控制器
接下来,我们需要更新控制器以支持数据绑定。
在 HomeController.cs 文件中,我们可以修改 Index 方法,创建一个 User 对象,并将其传递给视图。
public class HomeController : Taurus.Mvc.Controller
{
public void Index()
{
User user = new User
{
Name = "Alice",
Age = 25
}; View.LoadData(user);
} public void About() { } public void Contact() { }
}
View.LoadData 可以加载对象类型很多,比如:实体类,数据行(MDataRow )、字典、哈希等。
步骤3:更新视图
现在,我们需要更新视图来实现数据绑定。在 Index.html 视图文件中,
我们可以使用 ${属性名称} CMS 语法来绑定页面上的元素与 Model 中的属性。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>欢迎来到 Taurus.MVC WebMVC</title>
</head>
<body>
<h1>用户信息</h1>
<p>姓名:${Name}</p>
<p>年龄:${Age}</p>
</body>
</html>
在上述代码中,我们使用通过使用 ${Name} 和 ${Age} 语法来绑定页面上的元素与 Model 中的属性。
步骤4:运行应用程序
最后,我们可以运行应用程序并查看页面的效果。
您将看到用户信息页面上显示了用户的姓名和年龄,这些信息是通过数据绑定从 Model 中获取的。

步骤5:使用 View.KeyValue 添加绑定值
除了直接使用Model,通过 View.LoadData 来加载值外,对于一些场景,如果不想使用 Model,
比如想在界面绑定一些值,但不想重新定义Model时,则可以使用 View.KeyValue.Add(key,value)来添加。
例如框架内部实现中就使用到它,添加了几个默认值,以下是框架内部源码的实现部分:
private void LoadHtmlView()
{
if (!CancelLoadHtml)
{
_View = ViewEngine.Create(HtmlFolderName, HtmlFileName);//这里ControllerName用原始大写,兼容Linux下大小写名称。
if (_View != null)
{
//追加几个全局标签变量
_View.KeyValue.Add("module", ModuleName.ToLower());
_View.KeyValue.Add("controller", ControllerName);
_View.KeyValue.Add("action", MethodName.ToLower());
_View.KeyValue.Add("para", Para.ToLower());
_View.KeyValue.Add("suffix", Path.GetExtension(Request.Url.LocalPath));
_View.KeyValue.Add("httphost", Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Length - Request.Url.PathAndQuery.Length));
}
}
}
View.KeyValue是一个Dictionary,你可以添加,也可以移除。
实际View.LoadData 是将 Model 批量加载到了 View.KeyValue 中,后续你也可以通过它来移除不想绑定的数据。
总结
在本篇教程中,我们学习了如何在 Taurus.MVC WebMVC 中进行数据绑定操作。
我们还学习了如何使用 ${属性名称} CMS 语法来绑定页面上的元素与 Model 中的属性。
通过这些步骤,我们成功实现了一个简单的数据绑定示例。
本系列的目录大纲为:


Taurus.MVC WebMVC 入门开发教程1:框架下载环境配置与运行 Taurus.MVC WebMVC 入门开发教程2:一个简单的页面呈现 Taurus.MVC WebMVC 入门开发教程3:数据绑定Model Taurus.MVC WebMVC 入门开发教程4:数据列表绑定List<Model> Taurus.MVC WebMVC 入门开发教程5:表单提交与数据验证 Taurus.MVC WebMVC 入门开发教程6:路由配置与路由映射 Taurus.MVC WebMVC 入门开发教程7:部分视图和页面片段


Taurus.MVC WebMVC 入门开发教程3:数据绑定Model的更多相关文章
- Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。
前言: Taurus.MVC 微服务版本已经发布了:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. 以前都是框架发布时写点相关功能点的文章,没有形成 ...
- Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC WebAPI 入门开发教程3:路由类型和路由映射。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC WebAPI 入门开发教程4:控制器方法及参数定义、获取及基础校验属性【Require】。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC WebAPI 入门开发教程5:控制器安全校验属性【HttpGet、HttpPost】【Ack】【Token】【MicroService】。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC WebAPI 入门开发教程6:全局控制器DefaultController与全局事件。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:4、默认安全认证与自定义安全认证。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:1、微服务应用程序常规部署实现多开,节点扩容。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:2、让Kestrel支持绑定多个域名转发,替代Ngnix使用。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
随机推荐
- [转帖]Shell中常用的date时间命令
常用FORMAT %Y YYYY格式的年份(Year) %m mm格式的月份(),01-12 %d dd格式的日期(day of month),01-31 %H HH格式的小时数(),00 ...
- CTT Day3
T1 忘了叫什么名字 对于一个排列 \(p\),定义它的权值为其有多少个子串是一个值域从 \(1\) 开始的排列.给定排列 \(p\),对于 \(1\le i\le j\le n\),定义 \(f(i ...
- P9805 [POI2022~2023R1] ply
1st思路 贪心 当遇到左括号深度加一,可如果当前深度大于 \(H\) 时深度减二,并且 \(ans\) 加一.相当于进行一次翻转操作. 当遇到右括号深度减一,当深度小于零时深度加二,并且 \(ans ...
- svn把文件日期设置为最后提交的时间
在使用svn进行checkout或update时,我想让文件的日期为提交那时的日期,这要怎样做? 说明:我是在windows下使用TortoiseSVN进行操作的 方法1.修改config [misc ...
- SqlSugar分组查询
一.分组查询和使用 1.1 语法 只有在聚合对象需要筛选的时候才会用到Having,一般分组查询用不到可以去掉 var list = db.Queryable<Student>() ...
- 人工智能自然语言处理:N-gram和TF-IDF模型详解
人工智能自然语言处理:N-gram和TF-IDF模型详解 1.N-gram 模型 N-Gram 是一种基于统计语言模型的算法.它的基本思想是将文本里面的内容按照字节进行大小为 N 的滑动窗口操作,形成 ...
- 8、数据库学习规划:MS SQL Server - 学习规划系列文章
微软的SQL Server数据库是笔者最先接触的数据库,虽然之前有Access,但是那个是学校里知道的,没实际去开发基于Access的程序.SQL Server发展到现在已经有很多个版本了,其功能也非 ...
- PID 控制在医学麻醉过程血压控制中的应用|期末课程设计|PID控制器|自动控制原理
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总https://blog.cs ...
- VMware全版本下载工具
有很多小伙伴想下载适合自己的虚拟机版本,但是官网全是英文看不懂 百度找的还怕带病毒 这里栀煜单独制作了个工具,内置vm9 10 11 12 14 15 16 17版本的虚拟机下载地址,都是官方版 不是 ...
- NC20909 游戏
题目链接 题目 题目描述 有 n 个人围成一个环玩传球游戏,每轮游戏手里拿着球的那个人必须将球传给他(她)的一个朋友.游戏一共进行了 m 轮,初始球在第 a 个人手中,问游戏结束后球在第 b 个人手中 ...