Asp.net MVC2.0系列文章-显示列表和详细页面操作

来源:互联网 发布:淘宝联盟官网登陆入口 编辑:程序博客网 时间:2024/06/07 12:59
上一篇文章,我们简单地完成了新闻的添加操作(
Asp.net MVC2.0
系列文章
-
添加操作

)
此篇文章,我们使用Asp.net MVC2.0
实现新闻清单的展示和新闻详细页面。
创建View
视图Index
和NewsDetails

创建新闻首页,用来显示新闻列表。
在Views/News
目录下,单击右键,选择Add-View
,修改相关配置如下图所示















在生成的HTML
代码中,进行相关展示方面的修改。主要代码如下:

% foreach (var item in Model) { %



tr

td

%: Html.ActionLink("Edit", "NewsEdit", new { id=item.Id }) % |

%: Html.ActionLink("Details", "NewsDetails", new { id=item.Id })% |

%: Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })%

/td

td

%: item.Title %

/td

td

%: String.Format("{0:g}", item.CreateTime) %

/td

td

%: item.Content %

/td

/tr

% } %






使用Foreach
循环遍历新闻List
中的记录。
%: Html.ActionLink("Details", "NewsDetails", new { id=item.Id })% 此连接URL会寻找当前Controller下的NewsDetails Action方法,以新闻编号Id为参数进行传值。




同样的方法创建新闻详细页面视图NewsDetails.asp


生成的核心代码如下:

asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"

h2详细内容/h2

fieldset

legend新闻/legend

div class="display-label"标题/div

div class="display-field"%: Model.Title %/div



div class="display-label"创建时间/div

div class="display-field"%: String.Format("{0:g}", Model.CreateTime) %/div



div class="display-label"新闻内容/div

div class="display-field"%: Model.Content %/div



/fieldset

p

%: Html.ActionLink("Edit", "NewsEdit", new { id=Model.Id }) % |

%: Html.ActionLink("Back to List", "Index") %

/p

/asp:Content






%: Html.ActionLink("Edit", "NewsEdit", new { id=Model.Id }) % | 此连接会跳转到新闻编辑页面,同样以新闻编号Id传值。

修改Controller
文件

在Controllers/News
文件下

修改Action Name=Index
的方法,以使Index.aspx
页面初始化数据,此处未读读取数据库,而是伪造了一些数据,且放到静态变量中:
public static ListTHelperMVC.Models.News.NewsModel newsList;

Index Action 代码如下:


public ActionResult Index()

{

newsList= new ListTHelperMVC.Models.News.NewsModel();

for (int i = 0; i 10; i++)

{

THelperMVC.Models.News.NewsModel news=new THelperMVC.Models.News.NewsModel();

news.Id = i;

news.Title = "Title" + i.ToString();

news.CreateTime = System.DateTime.Now;

news.Content = "Content 新?闻?内容Y" + i.ToString();

newsList.Add(news);

}

return View(newsList);

}






使用For循环生成10条新闻记录。



修改NewsDetails.Aspx所对应的Action方法,如下


// GET: /News/Details/5

public ActionResult NewsDetails(int id)

{

THelperMVC.Models.News.NewsModel news=newsList[id];

return View(news);

}





根据URL传过来的参数(即新闻编号Id),从全局静态变量中寻找NewsModel实体,从而初始化新闻详细页面。

最后修改母版页中的,News连接,如下图所示:





此时,点击首页的News超链接,会寻找NewsController文件夹下的Index方法,从而初始化Views/News/Index.aspx页面。

程序运行效果

按下Ctrl+F5
运行程序,如下图所示:

点击上图中的【News
】超链接,跳转到新闻列表页面,如下图所示:

点击Details
超链接,会跳转到相应记录的详细页面,如下图所示:


原创粉丝点击