Listado de una icollección de un objeto en ASP.NET MVC 4 -- # campo con asp.net-mvc-4 campo con razor-2 camp Relacionados El problema

Listing a ICollection from an object in ASP.NET MVC 4


0
vote

problema

Español

Tengo una clase de usuario que se parece a esto

  Public class User     {         public int UserId { get; set; }          public string UserName { get; set; }          [Display(Name = "First Name")]         public string FullName { get; set; }          [Display(Name = "Last Name")]         public string LastName { get; set; }            public virtual ICollection<Project> Projects { get; set; } }   

y esta es mi clase de proyecto

  public class Project     {         [Key]         public int ProjectId { get; set; }            public int ProjectTypeId { get; set; }         public int UserId { get; set; }          [Display(Name = "Project title")]         public string ProjectName { get; set; }         public string ProjectDescription { get; set; }          public virtual ProjectDetail ProjectDetail { get; set; }          public virtual ICollection<ProjectUpload> ProjectUploads { get; set; }          [ForeignKey("ProjectTypeId")]         public virtual ProjectType ProjectType { get; set; }           [ForeignKey("UserId")]         public virtual User User { get; set; }      }   

Quiero enumerar los proyectos para un usuario en particular en la vista del índice de usuario. ¿Cómo hago eso?

Original en ingles

I have an user class which looks like this

Public class User     {         public int UserId { get; set; }          public string UserName { get; set; }          [Display(Name = "First Name")]         public string FullName { get; set; }          [Display(Name = "Last Name")]         public string LastName { get; set; }            public virtual ICollection<Project> Projects { get; set; } } 

And this is my project class

public class Project     {         [Key]         public int ProjectId { get; set; }            public int ProjectTypeId { get; set; }         public int UserId { get; set; }          [Display(Name = "Project title")]         public string ProjectName { get; set; }         public string ProjectDescription { get; set; }          public virtual ProjectDetail ProjectDetail { get; set; }          public virtual ICollection<ProjectUpload> ProjectUploads { get; set; }          [ForeignKey("ProjectTypeId")]         public virtual ProjectType ProjectType { get; set; }           [ForeignKey("UserId")]         public virtual User User { get; set; }      } 

I want to list out the projects for a particular User in the User Index View. How do I do that.

        

Lista de respuestas

0
 
vote
vote
La mejor respuesta
 

Bueno, será algo así como:

- & gt; Index.cshtml

  @using MyApp.Models @model MyApp.Models.User  @foreach (Project project in Model.Projects) {     <div>@project.ProjectName</div> }   
 

Well, it will be something like:

-> Index.cshtml

@using MyApp.Models @model MyApp.Models.User  @foreach (Project project in Model.Projects) {     <div>@project.ProjectName</div> } 
 
 
0
 
vote

Tuve un problema similar, pero necesitaba publicar el iCollection al controlador. Fue un dolor porque el atributo Name6 para cada entrada que se necesita para ser única y MVC solo lo reconoció como parte del modelo si se nombró en consecuencia. Entonces, si alguien más lo necesita, aquí está la sintaxis.

  <table>     @if (@Model != null && @Model.Projects != null)     {          for (var i = 0; i < Model.Projects.Count; i++)         {             <tr>                 <td>                     @Html.Hidden("Projects[" + i + "].ProjectId", Model.Projects.ElementAt(i).ProjectId)                     @Html.Label("Projects[" + i + "].ProjectName", Model.Projects.ElementAt(i).ProjectName)                 </td>                 <td>                     @Html.TextBox("Projects[" + i + "].ProjectName", Model.Projects.ElementAt(i).ProjectName, new { @class = "form-control" })                 </td>             </tr>         }     } </table>   
 

I had a similar issue, but I needed to POST the ICollection back to the controller. It was a pain because the Name attribute for each input needed to be unique and MVC only recognized it as part of the Model if it was named accordingly. So, if anyone else needs it, here is the syntax.

<table>     @if (@Model != null && @Model.Projects != null)     {          for (var i = 0; i < Model.Projects.Count; i++)         {             <tr>                 <td>                     @Html.Hidden("Projects[" + i + "].ProjectId", Model.Projects.ElementAt(i).ProjectId)                     @Html.Label("Projects[" + i + "].ProjectName", Model.Projects.ElementAt(i).ProjectName)                 </td>                 <td>                     @Html.TextBox("Projects[" + i + "].ProjectName", Model.Projects.ElementAt(i).ProjectName, new { @class = "form-control" })                 </td>             </tr>         }     } </table> 
 
 

Relacionados problema

1  Enlaces relativos con Razor en ASP.NET sin MVC  ( Relative links with razor in asp net without mvc ) 
Estamos trabajando en un sitio que se configuró con todas las páginas en el directorio raíz. Como resultado, todos los enlaces están referenciando ubicaciones...

0  Principiante con botón multi Enviar  ( Beginform with multi submit button ) 
Tengo una vista que tiene 3 introducción de texto y 2 botón de entrada de entrada: Voy a buscar una cuenta de cliente por el número de su cuenta o por su núme...

1  Cómo filtrar la tabla a través de los valores de la casilla de verificación  ( How to filter table through checkbox values ) 
En mi vista de afeitar tengo una mesa con 3 propiedades no mostradas. Id_Loaction , Id_Level & amp; Id_Section sobre esta tabla Tengo 3 listas de casil...

4  VS2013 Update 4, no se pueden abrir archivos CSHTML  ( Vs2013 update 4 cant open cshtml files ) 
Tengo una máquina que ya no puede editar archivos CSHTML en la actualización VS2013 4. La manifestación exacta de esto varía. En algunos casos, aparecerá un m...

0  convertir de foreach a for bucle  ( Convert from foreach to for loop ) 
por debajo del código que funciona perfectamente. Pero necesito convertirlo de var meta_keywords = getKeywords(); chrome.extension.sendRequest(meta_keywords...

2  Vista parcial Enviar Devoluciones NULL  ( Partial view submit returns null ) 
Estoy tratando de crear una sola vista que le permite al usuario ver los elementos actualmente listados con el modelo de Vista de índice y luego le permite al...

0  ¿Puedo usar una textarea para el ayudante como editor HTML?  ( Can i use a textareafor helper as an html editor ) 
¿Puedo usar una textarea para el ayudante para guardar HTML en una base de datos y luego cargarla en una página donde se representa? ...

0  ¿Es posible obtener la longitud de la colección ViewData?  ( Is it possible to get viewdata collection length ) 
Porque tengo que introducir algunos diques condicionales if Repeatable Block 1 Repeatable Block 2 1 en la base de código completo en el número de índice de...

0  Utilizando atributos HTML condicionales en Ayudador de ActionLink personalizado MVC  ( Using conditional html attributes in custom actionlink helper mvc ) 
Estoy usando un ayudante de enlace de acción HTML personalizado y me gustaría saber si es posible implementar una función de atributo de condición en la parte...

3  Atributos condicionales en Razor V2  ( Conditional attributes in razor v2 ) 
Estoy tratando de obtener el apoyo de atributos condicionales en Razor 2 para trabajar, pero por la vida de mí no se está comportando como se espera. Mi sal...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos