2017-08-24 1 views
-1

J'ai html.partial dans mon balisage html qui obtient et affiche tous les enregistrements de la base de données. mais je veux le changer aux disques choisis .. je veux dire que je veux placer où la clause dans html.partial. est-il possible d'ajouter la clause WHERE en partie et de filtrer les enregistrements? mon code html est comme ceEst-il possible d'ajouter where clause dans html.partial

@Html.Partial("ListProductPartial", Model.Data.OrderByDescending(o => o.Id)) 

Je suis très nouveau pour asp.net mvc. J'utilise un code prédéfini et je veux comprendre le code. J'espère que vous m'aidera à résoudre ce problème ..

+0

Votre exemple semble valide tant que le type de données correspond à la MohtmlPartials mo del type. 'Model.Data.Where (x => x, Id> 20) .OrderByDescending (o => o.Id) .ToList()' Je vous recommande d'appeler '.ToList();' sur votre modèle où/order by clause. – Tommy

Répondre

0

Selon le modèle, cela devrait fonctionner (en gardant le OrderByDescending):

@Html.Partial("ListProductPartial", Model.Data.Where(o => o.Name == "FilterText").OrderByDescending(o => o.Id)) 
+0

merci beaucoup ... je suis très nouveau à mvc ... – user4584148

0

Je ne recommande pas ce style mais vous pouvez essayer cet échantillon;

Vue partielle

@model List<WebApplication4.Models.WebModelData> 

@{ 

    foreach (var item in Model) 
    { 
     @Html.Raw(item.Value) 
    } 
} 

Appel à l'partielle

@Html.Partial("PartialView", Model.Data.Where(o => o.Id > 5).ToList()) 
0
Controller: 

public ActionResult Index() 
     { 
      List<Student> ob = new List<Student>() 
      { 
       new Student{ id=1, Name="x"}, 
       new Student{ id=2, Name="y"}, 
      }; 
      return View(ob); 
     } 

Index: 

@model List<WebApplication15.Controllers.Student> 

@{ 
    ViewBag.Title = "Index"; 
} 

@Html.Partial("Name",Model.OrderByDescending(x=>x.id)) 
<h2>Index</h2> 

Partial View: 
@model IEnumerable<WebApplication15.Controllers.Student> 

@foreach (var student in Model) 
{ 
    <li>@student.id</li> 
    <li>@student.Name</li> 
}