ASP.Net MVC-Übergabe mehrerer Parameter auf einen Blick
In ASP.Net MVC würde ich gerne ein anderes Teilansicht je nach renderview query-string-parameter.
Daher bieten die Möglichkeit für den Benutzer zu wählen, um Produkte anzeigen von Miniaturansichten oder details.
Habe ich Zugriff auf die gewählten parameter in der Steuerung, aber ich weiß nicht, wie oder, wenn ich zu der Weitergabe dieser zu der Ansicht mit der Liste der Produkte, so kann die view implementiert die Logik für die Entscheidung, welche teilweise Sicht auf display?
public ActionResult Products(string id, int? renderview)
{
var products = productRepository.GetProducts(id).ToList();
return View("Products", products);
}
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MLBWebRole.Models.Product>>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Products
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Products</h2>
<p>This is the Products page</p>
<p><a href="?renderview=0">thumbnails</a> <a href="?renderview=1">details</a></p>
<% if (renderview == 1)
{%>
<% Html.RenderPartial("ProductsDetailList"); %>
<% }
else
{ %>
<% Html.RenderPartial("ProductsThumbnailList"); %>
<% } %>
</asp:Content>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihrer Ansicht Sollte so etwas wie:
Dann in MyModel
Aussetzen Eigenschaft:
In einer controller-action:
Dann Ihrer Ansicht nach machen prüfen Sie wie:
Idealerweise all die Eigenschaften oder Parameter oder Daten, die ein View benötigt, um sich selbst zu präsentieren, sollte ein Teil des Modells.
Ich hoffe, es hilft.
Ein alternativer Ansatz wäre die Verwendung von Restful Urls zum aufrufen der entsprechenden controller action und anzeigen.
Macht dies die urls, die widerspiegeln, was Sie sehen auf dem Bildschirm und macht das design mehr erweiterbar ist; sollten Sie brauchen, um hinzuzufügen, andere Sichtweisen auf die Daten in der Zukunft (Zusammenfassung, neueste, etc) fügen Sie die neue Ansicht, keine Notwendigkeit für die Teiltöne, es sei denn, der Hauptteil der Blick noch komplizierter und werden ausgeklammert, um eine teilweise Ansicht.
Die URLs Aussehen würde:
Entsprechen ProductController Methoden:
Aktivieren Sie das routing mit route wie:
Paul ' s Methode ist gut, aber wenn Sie sich entscheiden, Sie möchten, übergeben Sie die int, müssen Sie erstellen eine view-Modell.
Im controller hinzufügen dieser
Dann übergeben Sie diese in die Ansicht
Und dann in der Ansicht