C# 将列表从cs发送到ascx

C# 将列表从cs发送到ascx,c#,asp.net,webforms,C#,Asp.net,Webforms,我对C#还很陌生,我正试图重建几年前用PHP构建的东西 我正在努力实现以下目标: 在CS文件中,我正在构建一个地址列表(基本上由名称、地址和坐标组成),我需要在ASCX文件中创建一个带有一些标记的google地图 我的代码如下所示: var neighbors = new List<List<String>>(); var neighbor = new List<String>(); int x = 0; String firstRowFirstColumn

我对C#还很陌生,我正试图重建几年前用PHP构建的东西

我正在努力实现以下目标:

在CS文件中,我正在构建一个地址列表(基本上由名称、地址和坐标组成),我需要在ASCX文件中创建一个带有一些标记的google地图

我的代码如下所示:

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++;
}
    <% var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); %>
    var jsVariable = <%= serializer.Serialize(Neighbors) %>;
var邻居=新列表();
var neighbor=新列表();
int x=0;
字符串firstRowFirstColumnValue=“”;
而(x

现在看起来列表的填充方式是正确的,但我不知道如何将其传递到ascx文件。有什么想法吗?

您可以使用
会话
应用程序
或将其作为
静态
属性,具体取决于您的senario,如果此列表对每个用户都是唯一的,则可以在
会话
上设置,或者如果此列表对所有用户都是唯一的,您可以在
应用程序
上设置列表,或将其创建为
静态
属性

此帖子非常类似:

我最喜欢虫族的回答。它拥有最多的选票。他的答案中缺少的是,应该可以通过类级别的公共属性访问列表(与提供的链接中的数组非常相似)。因此,请在您的课堂声明下面写上:

    public List<List<String>> Neighbors {get; set;}
在ascx页面中,您可以将列表放入javascript,如下所示:

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++;
}
    <% var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); %>
    var jsVariable = <%= serializer.Serialize(Neighbors) %>;

var-jsVariable=;

不相关地:你可能想考虑让你的邻居(单数)列出一个自定义类,而不是一个字符串列表。


我可能会提到,使用asp.NET MVC这样的东西要简单得多。这对您没有帮助,但仍然值得一提。

CS是指代码隐藏文件吗?如果您提供的代码位于类的方法中,请在ascx代码隐藏的page_load事件中创建该类的实例,并在该实例上调用该方法以获取您的列表。谢谢,这就成功了!我确实看到使用MVC会更容易,但我一直在对现有应用程序进行修改。