2014-03-07 56 views
0

我對C#來說很新,並且正在嘗試重建幾年前我在PHP中構建的東西。從cs發送一個列表到ascx

我試圖完成以下任務:

在我建立地址(基本上包括姓名,地址和座標),我需要在ASCX文件建立一個列表的CS文件谷歌地圖與一些標記。

我的代碼看起來是這樣的:

var neighbors = new List<List<String>>(); 
var neighbor = new List<String>(); 

int x = 0; 
String firstRowFirstColumnValue = ""; 

while (x < result.Result.Count) { 
    GenericEntityData Resultrow = result.Result[x] as GenericEntityData; 

    neighbor.Add(Resultrow .Properties[2].Value.ToString()); 
    neighbor.Add(Resultrow .Properties[3].Value.ToString()); 
    neighbor.Add(Resultrow .Properties[7].Value.ToString()); 

    neighbors.Add(neighbor); 
    x++; 
} 

現在好像列表填充了正確的方式,但我無法弄清楚如何將它傳遞給ASCX文件。有任何想法嗎?

+0

通過CS你是指代碼背後的代碼? – mxmissile

+0

如果您提供的代碼位於類的方法中,請在ascx代碼隱藏的page_load事件中創建此類的實例,並調用該實例上的方法以獲取您的列表。 – DotNetWala

回答

1

這個職位是非常相似:

Pass C# ASP.NET array to Javascript array

我喜歡zerkms回答是最好的。它擁有最多的選票。他的回答中缺少的是,您應該可以通過公共屬性在課程級別訪問您的列表(與提供的鏈接中的數組非常相似)。所以把這個權利類聲明下:

public List<List<String>> Neighbors {get; set;} 

,並在你的一段時間後,循環完成:

Neighbors = neighbors; 

在ASCX頁面,您可以把列表轉換成JavaScript這樣的:

<% var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); %> 
    var jsVariable = <%= serializer.Serialize(Neighbors) %>; 

不相關:你可能想考慮讓你的鄰居(單數)列出一個自定義的類,而不是一個字符串列表。

我可能會提到,使用asp.NET MVC這樣的事情要簡單得多。這對你沒有任何幫助,但仍值得一提。

+0

謝謝,那就是訣竅!我確實已經看到,使用MVC會更容易,但我堅持在現有的應用程序中進行修改。 – ErikL

0

可以使用sessionapplication或使其爲static屬性,取決於你的塞納里奧,如果此列表爲每個用戶唯一的,你可以設置在session,或者如果列表是爲所有用戶獨一無二的,你可以設置列表上application或將其創建爲static財產

相關問題