Question

Dire que je veux faire le plus simple du passage des données comme suit:

<% For i = 0 To 10%>
    <%Html.RenderPartial("MyUserControl")%>
<% Next%>

Ce que je veux faire est de passer la variable i en tant que paramètre à la UserControl afin qu'il affiche le numéro dans un, disons, div bordée.

Comment est-ce possible?

Merci

Était-ce utile?

La solution

<% For i = 0 To 10%> 
    <%Html.RenderPartial("MyUserControl", i)%> 
<% Next%>

La méthode RenderPartial a une surcharge, qui permet de passer à un modèle (sub). Pour l'utiliser le plus efficacement possible, votre UserControl doit être fortement typé -. Dans ce cas à un modèle de type System.Int32


Pour l'utiliser dans un UserControl:

<%@ Control Language="C#"
    Inherits="System.Web.Mvc.ViewUserControl<System.Int32>" %>
<div><%= this.Html.Encode(this.Model) %></div>

Dans ce cas, this.Model est une instance System.Int32.

Autres conseils

  • vous n'avez pas. Ce genre de choses doit être dans le modèle, suppsedly.
  • mise à niveau vers MVC v2,.) Se débarrasser des chaînes
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top