2016-11-14 100 views
0

我想知道如何迭代一个会话,我将其分配给一个操作方法中的字符串列表。 我想通过for循环显示会话中的每个元素作为链接。 任何帮助表示赞赏。遍历视图中的会话变量

这里是我的索引方法:

public ActionResult Index() 
    { 
     Session["num"] = Posts; 
     //Posts = new List<string> { "element1", "element2", "element3" }; 
     return View(); 
    } 

这是我的观点:

<h2>Index</h2> 

@foreach (@item c in @Session["num"]) 
{ 

} 
+2

@foreach(VAR下在(列表)@Session [ “编号”]) \t \t \t \t { \t \t \t \t \t @c \t \t \t \t
\t \t \t \t} – Hackerman

回答

1

你需要投你的会话变量,因为它是一个对象。

喜欢的东西...

@{ 
    var posts = Session["num"] as List<string>; 
    if (posts != null) { 
     foreach (var item in posts) { 
      ... 
     } 
    } 
} 
+0

谢谢您的回答。工作完美! :) –

1

您已经标记了这个问题作为asp.net-mvc,为什么不采取框架的优势在哪里?

模型

class MyModel 
{ 
    public List<string> Posts { get; set; } 
} 

视图(Index.cshtml)

@model MyModel 

<h2>Index</h2> 
@foreach(var post in Model.Posts) 
{ 
    <span>@post</span> 
} 

控制器

public ActionResult Index() 
{ 
    var model = new MyModel(); 
    model.Posts = Posts; //Posts = new List<string> { "element1", "element2", "element3" }; 
    return View(model); 
}