2010-10-21 56 views
0

在MVC 2中我有一個用戶控件 - 部分頁面如下。ForEach查看模型的訂單

模型有四個記錄

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

在我的機器 - 輸出是如上面的ID訂單預計。

但部署後輸出是完全奇怪的東西像下面。

D D1 
B B1 
A, A1 
C C1 

想知道如何從ViewModel發送或檢索數據?爲什麼不在特定的順序。任何想法。

我已經下載了MVC源代碼進行調查,但沒有任何線索從哪裏開始?

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

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

是你使用相同的數據庫進行開發和部署? – jfar 2010-10-21 18:23:28

+0

數據庫服務器不一樣。 Sql服務器配置是一樣的。 sql腳本和插入腳本是相同的。表格中的數據通過兩個數據庫上的腳本進行拼湊。這不應該造成上述問題..!? – swapneel 2010-10-21 19:26:52

+0

由於沒有人提到它,所以在查詢中不進行排序=不可排序的行順序。數據庫101,實際上。 – Alex 2013-05-07 11:36:18

回答

2

你應該通過列表我假設你MyData反正裏面...您的查詢提取了records.In的情況下使用OrderBy()說,無論你獲得的records YOUT列表 -

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

我知道如何解決這個問題,但我想知道爲什麼在一臺機器上的數據以升序顯示,但在其他機器上不是?爲什麼不在每臺機器的特定訂單中。任何想法 – swapneel 2010-10-21 18:13:20

+0

使用IEnumerable Inherits =「System.Web.Mvc.ViewUserControl >」%> – swapneel 2010-10-21 18:17:16

+0

這是你從數據庫中獲取記錄的方式......在它的'視圖'一側沒有任何操作..我我不確定究竟是什麼原因導致它.. – Vishal 2010-10-21 18:23:42