ASP.NET MVC3 实例(三) 使用 Controller 进行数据的的查询
来源:互联网 发布:苹果手机充电问题知乎 编辑:程序博客网 时间:2024/05/22 00:10
上一篇我们主要介绍了下 MVC3 中实体数据模型(Entity Data Model)的创建,本篇我们将主要介绍下在 MVC3 中使用 Controller 进行数据的的查询。在进行 Controller 介绍前,我们先看看我们的实体数据模型:
接着上篇我们所做的工作,在"AndroidDB.Designer.cs"中,我们可以找到"Article"类、"ArticleComment"类,如下:
public partial class Article : EntityObject{ public int ID { get; set; } public string Title { get; set; }}
上边的Article是我们 Article 表对应的类,也是我们原来在.NET中的使用方法,下边这个是 Entity Framework 中定义的类,使得我们可以通过 ObjectSet 属性的方式来遍历我们的表对象,很明显这给我们的操作带来了很大的方便。
public partial class AndroidEntities : ObjectContext{ public ObjectSet<Article> Article { get; set; } public ObjectSet<ArticleComment> ArticleComment { get; set; }}
也许你可能不太明白 ObjectSet 到底是什么,没关系,你可以看看下图,把它当作 List<> 泛型使用就可以了,当然了我们有必要看看它到底是什么,在这里 TEntity 就是 Article 类型。在 ObjectSet<TEntity> 中定义了一些方法,如 public void AddObject(TEntity entity); 使用这个方法,我们可以很方便的实现添加操作,这在后边我们会介绍到。
下边就让我们看看 Control 中对 Model 数据的读取,因为 Entity Framework 正式版还没有发布,最终的写法我们还有待跟进,可以肯定的是,最终版代码肯定会更加简洁,操作会更加方便。首先,我们新建一个 HomeController 类,在 Controllers 文件夹上右键新建 Controller ,如下图:
HomeController 类如下:
public class HomeController : Controller { // // GET: /Home/ public ActionResult Index() { return View(); } }
此时,我们还没有创建 View 模板用来显示数据,当然我们这里的模板是基于 Razor 的。我们在 Index() 附近右键单击 Add View ,并为 View 命名为 "Index",如下图:
最后,我们得到的结果如下图所示:
接下来,让我们实现 HomeController 的方法,在我们的首页中,我们需要将 Article 表中的数据进行查询以进行显示。为简单起见,先不考虑分页等。这样,我们引入所需的命名空间,如下:
using Android.Models;
下边是我们类实现的方法,以两种形式返回我们所需的数据,此时我们返回的是 Article 对象的数据集,如下:
public class HomeController : Controller { AndroidEntities android = new AndroidEntities(); public ActionResult Index() { //android.Article,就是通过ObjectSet属性 //List<Article> //var article = android.Article.ToList(); //使用 Linq 查询 var article = from a in android.Article select a; //ViewResult return View(article); } }
实现的过程还是比较清晰的,两种方式都可以达到我们的目的。接下来,我们看看 View 数据的显示。Razor 是一种新的视图引擎,和先前 Aspx 模板语法主要不同在于它使用"@"符号,关于这个我们会慢慢的进行了解。我们先看看 View 中显示数据的写法,如下:
这里为了更好的说明,我将整个代码截了一张图做个说明。这里首先要注意 Model 属性是 Controller 传递给 View 数据对象的引用,可见我们可以通过 Model 属性来获取传递过来的数据。这里还有几个知识点是我们学习时要掌握的,1.我们看看第1、2行,前者类型是IEnumerable,T在这里是Article,后者是IList<T>,表示一组对象。这里不做更多的说明,我们需要注意的是要根据返回结果选择恰当的类型。第3行的布局引用我们先不管,我们将在后边专门看看 Razor 视图中布局方法。2.第2行这里是注释的,这也是 razor 注释时的写法。3.在15行使用了foreach遍历Model,并进行了最终的输出显示,可见 razor 进行输出时格式为@加上属性。4.Html.Raw()方法,在 razor 中对输出默认进行了编码,此时使用Raw()方法表示不进行编码输出,这样便可显示我们的图片等,否则输出如<img src="****.jpg" />这种。
本篇说的有些多,如果你有什么不明白的地方,欢迎在留言中留言,我们来进行讨论。本篇 MVC3 中使用 Controller 就到这里,希望对新学者能有所帮助。
- ASP.NET MVC3 实例(三) 使用 Controller 进行数据的的查询
- ASP.NET MVC3 实例(三) 使用 Controller 进行数据的的查询
- ASP.NET MVC3 实例(三) 使用 Controller 进行数据的的查询
- ASP.NET MVC3中Controller与View之间的数据传递总结
- ASP.NET MVC3中Controller与View之间的数据传递总结
- 从一个控制器(Controller)存储您的模型(Model)数据(ASP.NET MVC3系列文章五)
- ASP.NET MVC3中的Controller
- ASP.NET MVC3中的Controller
- asp.net mvc3 对HttPost来的表单使用moq进行单元测试
- 关于在VS2010 ASP.NET MVC3中使用WebService的实例
- ASP.NET MVC3 实例(一) MVC3 介绍和项目的创建
- ASP.NET MVC3 实例(一) MVC3 介绍和项目的创建
- ASP.NET MVC3 实例(一) MVC3 介绍和项目的创建
- ASP.NET MVC3 技术(五) JSON 数据的传递
- ASP.NET MVC3 技术(五) JSON 数据的传递
- ASP.NET MVC3数据绑定到VIEW的方式
- ASP.NET MVC3 技术(五) JSON 数据的传递
- asp.net mvc3 的数据验证(一)
- linx user
- 20130712 【南华大学 ACM】 新生赛第四场 【E. 机器人II】
- dos2unix批量转换的脚本
- 五大布局之 LinearLayout
- VC之CString,wchar_t,int,string,char*之间的转换
- ASP.NET MVC3 实例(三) 使用 Controller 进行数据的的查询
- [Oracle] centos6.2图形界面安装oracle数据库
- 虚拟机的配置
- HDOJ 1400 & POJ 2411 - Mondriaan's Dream 状态压缩DP
- 东航山东乘务组救助突发癫痫病人脱险
- Jquery中获取table中某列值的方法
- 字符串的排列组合问题
- poj1185炮兵阵地
- 编程挑战(8)