ASP.NET MVC 入门5、View与ViewData
本系列文章基于ASP.NET MVC Preview5.
view在MVC模式中与用户进行最直接的接触,它负责数据的呈现。这里要注意一点就是,view只是负责数据的呈现,所以我们应该要尽量让
view中不涉及业务逻辑的处理。
我们来添加一个Blog首页的view。在安装了ASP.NET MVC后,我们在添加新项目的时候可以看到有MVC的view模板:
注:如果你的是中文版
的VS,安装完后可能会出现找不到这个模板的现象,你可以参考
在中文版VS 08中安装MVC
这篇
文章设置一下。
其中MVC View Content Page是有母版页的。我们在Views/Home目录下添加一个MVC View Content
Page,并选择我们Views/Shared目录下的Site.Master母版页:
public
partial
class
Index : ViewPage
{
}
ASP.NET
MVC默认是使用WebForm来作为view的。所以我们看到新建的aspx页面继承自ViewPage,如果使用aspx页面作为ASP.NET
MVC的视图引擎,则所有的aspx页面都必须继承自ViewPage。我们再看一下ViewPage:
我们看到ViewPage继承自ASP.NET
WebForm的Page页,还实现了IViewDataContainer接口,同时还提供了一些Helper类的实例。我们可以使用ViewData
来从Controller中往view页面中传递数据。下面我们在HomeController中的Index
Action中取出Posts列表,然后在View中显示。我们先在Controller中取出数据,前面说过,为了方便,我们会直接使用
BlogEngine的Model层来作为我们这个4mvcBlog的Model。所以我们的代码如下:
public
ActionResult Index(
int
?
id)
{
ViewData[
"
Title
"
]
=
BlogSettings.Instance.Name;
List
<
IPublishable
>
posts
=
BlogEngine.Core.Post.Posts
.ConvertAll(
new
Converter
<
Post,
IPublishable
>
(
delegate
(Post p) {
return
p
as
IPublishable; }));
int
pageIndex
=
(id
!=
null
&&
id.HasValue
&&
id.Value
>
0
)
?
id.Value :
1
;
int
pageSize
=
Math.Min(posts.Count, BlogSettings.Instance.PostsPerPage);
if
((pageIndex
-
1
)
*
pageSize
+
pageSize
>
posts
相关文档:
啟動:Microsoft .NET Framework 2.0 Configuration-->Runtion Security Policy-->右鍵-->Adjust Security-->Make changes to this &nbs ......
asp.net 将Excel导入到Sql2005或2000的思路和步骤:
1、将Excel文件上传到服务器端
这个我不想详细讲了,网上一搜一大把的.
注意:(1在取服务器路径时一定要用this.Page.MapPath(".")而不要用 this.Page.Request.Applic ......
在上一篇博文《asp.net中的身份验证(最简单篇)》中的身份验证虽然很简单,但是有一个缺点,就是访问整个网站都必须要经过身份验证,而事实上,很多网站都不会这么要求的。
比如一个新闻系统,通常只有在发布新闻的网页才需要身份验证,而用户浏览新闻是不需要身份验证的。对于这种情况,就要针对不同的网页来进行身份验 ......
SP.NET面试题
(转 原文地址http://blog.sina.com.cn/s/blog_524c848901009e7b.html~type=v5_one&label=rela_nextarticle 作者
李洋的博客
http://blog.sina.com.cn/liiyang)
1. 简述 private、 protected、 public、 internal 修饰符的访问权限。
答 . private : 私有成员, 在类的内部才可以访问。
prote ......
(转 原文地址http://blog.sina.com.cn/s/blog_524c848901009e7b.html~type=v5_one&label=rela_nextarticle 作者
李洋的博客
http://blog.sina.com.cn/liiyang)
66.软件开发过程一般有几个阶段?每个阶段的作用?
答:需求分析,架构设计,代码编写,QA,部署
67.在c#中using和new这两个关键字有什么意义, ......