网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

Asp.NetMVC实践(基于ASP.NETMVCPreview2)

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
码的方式显示,此方法虽然对程序可读性有影响,但是在显示程序时候更加灵活.需要说明的是,在继承自ViewPage的类中,ViewData代表了Controller部分传入的数据,比如上面的例子,ViewData就是IList<ArticleContent>的数据,因此可以非常方便的显示出来.同时由于aspx页面只为了显示数据,不包含业务逻辑,维护起来更显方便.

比如在上面的index类中,循环显示ArticleCotent数据的代码如下:



<%
foreach (ArticleContent content in ViewData)
{
foreach (ArticleCategory cate in MvcArticle.Services.ServicesFactory.GetCategoryServices().Get())
{
if (cate.ID == content.CategoryID)
{
content.Category = cate;
}
}
%>
<div class="body_list_item">
<div class="item_head">
<%=Html.ActionLink(content.Title, "view",new System.Web.Routing.RouteValueDictionary(new {controller="article", id=content.ID.ToString()}))%><span>作者:<%=content.PostUser %> 日期:<%=content.PostTime %></span>
</div>
<div class="item_body">
<%=content.Info %>
</div>
<div class="item_bottom">
分类: <%=Html.ActionLink(content.Category.Name, "list", new System.Web.Routing.RouteValueDictionary(new { controller = "article", category = content.CategoryID.ToString(), page = "1" }))%>
| Hits:<%=content.Hits %>
| <%=Html.ActionLink("编辑", "edit", new System.Web.Routing.RouteValueDictionary(new { controller = "article", id = content.ID.ToString() })) %>
| <a href="<%=Url.Action("delete", new System.Web.Routing.RouteValueDictionary(new { controller = "article", id = content.ID.ToString() })) %>" onclick="if (!window.confirm(''是否要删除该文章'')) return false;" title="删除该文章">删除</a>
</div>
</div>
<%
}
%>



由于UrlRouting的Url是层层深入的,因此页面引用其他文件的路径成了一个问题,在MVC框架中,引入了HtmlHelper和UrlHelper类来解决这个问题,在本版的MVC程序中,比如在程序中在本页面中,获取文章所在分类的分页浏览页面的url,使用的是<%=Html.ActionLink(content.Category.Name, "list", new System.Web.Routing.RouteValueDictionary(new { controller = "article", category = content.CategoryID.ToString(), page = "1" }))%>,这儿使用controller,action等数据组合的方式让程序生成url,很好解决了url问题.如果觉得这个方式生成的url不满足要求,则可以使用UrlHelper来自定义,比如上面的删除文章链接,使用的便是<a href="<%=Url.Action("delete", new System.Web.Routing.RouteValueDictionary(new { controller = "article", id = content.ID.ToString() })) %>" onclick="if (!window.confirm(''是否要删除该文章'')) return false;" title="删除该文章">删除</a>

最后是关于数据的提交,有两个办法,一个是在Controller的方法中访问Request对象,这个Request对象和WebForm中的保持一致,可以获取Form或者QueryString的内容,当时,更省事的方法是直接对Action方法定义参数,比如Demo的Save方法: public void Save(string title, int categor
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师