Using the same code in different (partial) views

Posted by Danny Chen on Stack Overflow See other posts from Stack Overflow or by Danny Chen
Published on 2010-06-01T05:59:43Z Indexed on 2010/06/01 6:03 UTC
Read the original article Hit count: 242

Filed under:
|
|
|

Maybe this question is quite simple because I'm new to MVC2. I have a simple demo MVC project.

(1) A weak-typed view: Index.aspx

<% Html.RenderPartial("ArticalList", ViewData["AllArticals"] as List<Artical>); %>

(2) A strong-typed partical view: ArticalList.ascx

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<List<Artical>>" %>
<% foreach (Artical a in Model)  { %>
           <%= Html.ActionLink(a.Title, "About", new { id = a.ID })%><br />
<%} %>

(3) Here is the HomeController.cs

   public ActionResult Index()
    {
        ViewData["AllArticals"] = Artical.GetArticals();
        return View();
    }

public ActionResult ArticalList()
{
    return PartialView(Artical.GetArticals());
}

Sorry I'm using a Web-Form "angle", because if I'm using a Web-Form, when I visit Index.aspx, rendering ArticalList.ascx will call public ActionResult ArticalList(). But here I need to write Artical.GetArticals() twice in two actions. How can I put them in one?

© Stack Overflow or respective owner

Related posts about c#

Related posts about ASP.NET