2010-10-21 5 views
0

Dans MVC 2, j'ai un contrôle utilisateur - page partielle comme ci-dessous.Commande de ForEach sur View Model

modèle a quatre dossiers

id Dtext Dtext1 
1 A, A1 
2 B B1 
3 C C1 
4 D D1 

sur ma machine - sortie est comme ci-dessus dans le numéro de commande qui est prévu.

Mais après la sortie du déploiement est tout à fait bizarre quelque chose comme ci-dessous.

D D1 
B B1 
A, A1 
C C1 

Vous aimeriez savoir comment les données sont envoyées ou récupérées à partir de ViewModel? Pourquoi pas dans l'ordre spécifique. Une idée.

J'ai téléchargé le code source MVC pour l'enquête mais je n'ai aucune idée par où commencer?

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl< MyData>" %> 
<% if (Model != null) 
    { 
%> 

    <% 
     foreach (var item in Model) 
     {%> 
    <%: item.DisplayText %> 
     <%: item.DisplayText1 %> 
    <% }%> 
<%} %> 
+1

Est vous utilisez la même base de données pour le développement et le déploiement? – jfar

+0

Le serveur de base de données n'est pas le même. La configuration du serveur SQL est la même. Le script sql et les scripts d'insertion sont identiques. Les données dans les tables sont pupolées avec des scripts sur les deux bases de données. cela ne devrait pas créer de problème ci-dessus ..!? – swapneel

+0

Puisque personne ne l'a mentionné, aucun tri dans la requête = ordre de rangée unpredidctable. Base de données 101, en fait. – Alex

Répondre

2

Vous devriez liste de passage, je suppose que dans votre MyData ... Utilisez toute façon OrderBy() sur votre requête qui alla chercher la records.In votre cas dites où vous obtenez la liste des yout records -

var result=records.OrderBy(i=>i.id).ToList(); 
+0

je sais comment résoudre ce problème mais je veux savoir pourquoi sur une machine les données sont affichées dans l'ordre croissant mais sur l'autre machine Non? Pourquoi pas dans l'ordre spécifique sur chaque machine. Toute idée – swapneel

+0

en utilisant IEnumerable Inherits = "System.Web.Mvc.ViewUserControl >"%> – swapneel

+0

C'est la façon dont vous récupéreriez des enregistrements de la base de données ... rien à voir du côté "vue" .. je ne suis pas sûr de ce que cela peut causer exactement .. – Vishal

Questions connexes