我在创建通用视图来表示NotFound页面时遇到问题。在ASP.MVC中创建通用NotFound视图
该视图已创建,并没有问题。我需要知道如何将用户导向到我的控制器中的NotFound视图以及如何在每个控制器中呈现特定的“返回索引”。
下面是一些代码:
public class NotFoundModel
{
private string _contentName;
private string _notFoundTitle;
private string _apologiesMessage;
public string ContentName { get; private set; }
public string NotFoundTitle { get; private set; }
public string ApologiesMessage { get; private set; }
public NotFoundModel(string contentName, string notFoundTitle, string apologiesMessage)
{
this._contentName = contentName;
this._notFoundTitle = notFoundTitle;
this._apologiesMessage = apologiesMessage;
}
}
// NOTFOUND查看
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Geographika.Models.NotFoundModel>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
<%= Html.Encode(Model.ContentName) %>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2><%= Html.Encode(Model.NotFoundTitle) %></h2>
<p><%= Html.Encode(Model.ApologiesMessage) %></p>
<!-- How can i render here a specific "BackToIndexView", but that it's not bound to
my NotFoundModel? -->
</asp:Content>
//控制器的代码
//
// GET: /Term/Details/2
public ActionResult Details(int id)
{
Term term = termRepository.SingleOrDefault(t => t.TermId == id);
if (term == null)
return View("NotFound"); // how can i return the specific view that its not bound to Term Model?
// the idea here would be something like:
// return View("NotFound",new NotFoundModel("a","b","c"));
else
return View("Details", term);
}
我不知道如何重定向到一个完全不同的页面。任何人都可以给我任何指针?
谢谢
很酷,很简单! – 2010-05-21 12:56:34