2009-07-13 6 views
1

j'ai pris sur un projet MVC qui a une vue qui affiche plusieurs vues partielles en utilisantASP.NET MVC renderPartial Gestion ID côté client

Html.RenderPartial("ClientDetail", model); 
Html.RenderPartial("PlanSummary", model); 

Le problème que j'ai est qu'à l'intérieur de ces vues partielles, contrôle avec le même identifiant est généré. Les deux vues partielles ci-dessus ont cette ligne:

Html.Hidden("Surname", Model.Surname) 

Cela crée alors HTML invalide deux éléments apparaissent sur la sortie rendue avec le même identifiant.

est-il une autre façon de fixer ce, à l'exception de l'utilisation de "Nom1", "Surname2" etc.

Répondre

1

Essayez ceci:

<%= Html.RenderPartial("ClientDetail", model, new ViewDataDictionary {{"PartialId", 1}}) %> 
<%= Html.RenderPartial("PlanSummary", model, new ViewDataDictionary {{"PartialId", 2}}) %> 

Dans les vues partielles:

Html.Hidden("Surname" + HtmlEncode(ViewData["PartialId"]), Model.Surname) 

<!-- or --> 

Html.Hidden("Surname" + PartialId, Model.Surname) 

<script runat="server"> 
    protected string PartialId { 
     get { 
      return HtmlEncode(ViewData["PartialId"]); 
     } 
    } 
</script> 
Questions connexes