Mvc 3 Razor : Mit Abschnitten, Teilweise mit Sicht?
Ich definiert einen Abschnitt in Teilansicht und ich möchten, geben Sie den Inhalt des Abschnitts zu sehen.
Aber ich kann nicht herausfinden, einen Weg. In asp.net Benutzer-Steuerelemente, können wir definieren asp:Platzhalter, und
geben Sie die Inhalte von aspx -, in denen user control liegt. Ich bin froh für jede Anregung.
Dank
[Bearbeiten]
Hier ist die asp.net Benutzer-Steuerelement, und ich will es konvertieren zu razor Teilansicht
Benutzer-Steuerung:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="SpryListView.ascx.cs" Inherits="SpryListView" %>
<div spry:region="<%=this.SpryDataSetName%>" id="region<%=this.ID%>" style="overflow:auto;<%=this.DivStyle%>" >
<table class="searchList" cellspacing="0" style="text-align:left" width="100%">
<thead>
<tr>
<asp:PlaceHolder ID="HeaderColumns" runat="server"></asp:PlaceHolder>
</tr>
</thead>
</table>
User control code:
public partial class SpryListView : System.Web.UI.UserControl
{
private string spryDataSetName ;
private string noDataMessage = "Aradığınız kriterlere uygun kayıt bulunamadı.";
private bool callCreatePaging;
private string divStyle;
private ITemplate headers = null;
private ITemplate body = null;
[TemplateContainer(typeof(GenericContainer))]
[PersistenceMode(PersistenceMode.InnerProperty)]
public ITemplate HeaderTemplate
{
get
{
return headers;
}
set
{
headers = value;
}
}
[TemplateContainer(typeof(GenericContainer))]
[PersistenceMode(PersistenceMode.InnerProperty)]
public ITemplate BodyTemplate
{
get
{
return body;
}
set
{
body = value;
}
}
public string DivStyle
{
get { return divStyle; }
set { divStyle= value; }
}
public string NoDataMessage
{
get { return noDataMessage; }
set { noDataMessage = value; }
}
public string SpryDataSetName
{
get { return spryDataSetName; }
set { spryDataSetName = value; }
}
public bool CallCreatePaging
{
get { return callCreatePaging; }
set { callCreatePaging = value; }
}
void Page_Init()
{
if (headers != null)
{
GenericContainer container = new GenericContainer();
headers.InstantiateIn(container);
HeaderColumns.Controls.Add(container);
GenericContainer container2 = new GenericContainer();
body.InstantiateIn(container2);
BodyColumns.Controls.Add(container2);
}
}
public class GenericContainer : Control, INamingContainer
{
internal GenericContainer()
{
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
aspx
<spry:listview SpryDataSetName="dsOrders" CallCreatePaging="true" runat="server" ID="orderListView">
<HeaderTemplate>
<th> </th>
<th>SİPARİŞ TARİHİ</th>
<th style="text-align:right">GENEL TOPLAM</th>
<th style="text-align:right">KDV</th>
<th style="text-align:right">NET TOPLAM</th>
</HeaderTemplate>
</spry:listview>
[Bearbeiten]
Möchte ich genau das tun, in mvc 3 razor Teilansicht.
- Was versuchen Sie zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorlagen Gestochen Delegierten zu sein scheinen, was Sie nach. Sie bestehen im wesentlichen lassen Sie Ihre Helfer nehmen die Vorlage (die Delegierten) als argument übergeben Sie aus der Ansicht. Auf diese Weise ist es dem Anrufer (Ihre Ansicht), die steuert, wie die Daten gerendert wird, nicht der Helfer, damit Ihnen mehr Flexibilität.
Sollten Sie einen
Func<object, HelperResult>
als parameter an die eingeschränkte Sicht.In der übergeordneten Ansicht, die Sie übergeben können, wie HTML
@<div>...</div>
als parameter.In der Teilansicht, können Sie rufen die Delegierten mit jedem parameter zum Rendern des HTML-Codes.