Mvc 3 Rasoir : à l'Aide de Sections Partielles de Vue?
J'ai défini une section partielle de la vue et je tiens à préciser le contenu de l'article à partir de la vue.
Mais je ne peux pas trouver un moyen. Dans asp.net les contrôles de l'utilisateur, nous pouvons définir asp:espaces réservés, et
préciser le contenu de aspx où de contrôle de l'utilisateur se trouve. Je serai heureux pour toute suggestion.
Grâce
[modifier]
Ici, c'est le asp.net de contrôle de l'utilisateur et je veux le convertir en rasoir vue partielle
De contrôle de l'utilisateur:
<%@ 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>
De contrôle de l'utilisateur 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>
[modifier]
Je veux faire exactement cela dans mvc 3 rasoir vue partielle.
Qu'essayez-vous de faire?
OriginalL'auteur Muzaffer | 2011-02-18
Vous devez vous connecter pour publier un commentaire.
Basé Sur Un Modèle De Rasoir Délégués semblent être ce que vous êtes après. Ils ont essentiellement laissez vos aides de prendre le modèle de (votre délégué) comme argument, vous passer de la vue. De cette manière, il est l'appelant (votre point de vue) qui contrôle la façon dont l'information est rendue, pas de l'aide, vous donnant ainsi plus de souplesse.
OriginalL'auteur Daniel Liuzzi
Vous devriez prendre un
Func<object, HelperResult>
en tant que paramètre à la vue partielle.Dans la vue parent, vous pouvez passer le code HTML comme
@<div>...</div>
en tant que paramètre.Dans la vue partielle, vous pouvez appeler le délégué à l'aide d'un paramètre pour afficher le code HTML.
OriginalL'auteur SLaks