2

嗨,有人可以帮我如何从我的视图(.cshtml)访问 viewbag 值这是我的示例

var appointments = new[,] { { "4/1/2013", "B'day" }, { "4/2/2013", "Appointment with abc" } };
ViewBag.Appointments = appointments;

现在我想从我的 .cshtml 文件中访问 ViewBag.Appointments 值。

任何想法?

4

3 回答 3

7

这就是您访问 ViewBag 中数据的方式。请记住 ViewBag 数据通常是动态的,只能在运行时访问。

ViewBag.Appointments = appointments;

在控制器中设置 ViewBag 数据后,在视图中检索它,如下所示。

@{
    var appointments = ViewBag.Appointments;
}

然后,您可以遍历结果以使用 foreach 循环获取各个项目。

@foreach(var appointment in appointments)
{
    <p>@appointment.value</p>
}

希望这可以帮助!

于 2016-02-22T06:12:25.917 回答
0

要遍历此数组并在 cshtml 中“打印”,请使用以下代码:

@foreach(var appointement in ViewBag.Appointments)
{
   <span>@appointement[0]</span>
   <span>@appointement[1]</span>
}
于 2013-04-17T06:12:52.020 回答
0

要在单个列中的视图中打印 viewbag 的所有值,请使用以下命令

@{
    for (int i = 0; i < ViewBag.Appointments.GetLength(0); i++)
    {
        for (int j = 0; j < ViewBag.Appointments.GetLength(1); j++)
        { 
           <B>  @ViewBag.Appointments[i, j] </B> <br />
        }
    }    
}

要将视图中 viewbag 的所有值打印为键值对,请使用以下命令

@{
    for (int i = 0; i < ViewBag.Appointments.GetLength(0); i++)
    {
           <B>  Key= @ViewBag.Appointments[i, 0], Value= @ViewBag.Appointments[i, 1] </B> <br />
    }    
}

编辑- 按照下面评论中的要求

您可以在 GIT Hub 上查看这个NGON项目。注意:在同一页面上,您会找到详细的教程。

帮助页面中的一小部分内容可帮助您入门。

在您的控制器中,您可以向 ViewBag 的动态 NGon 属性添加任何值:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        ViewBag.NGon.Appointments= new[,] { { "4/1/2013", "B'day" }, { "4/2/2013", "Appointment with abc" } };
        return View();
    }
}

然后在你的脚本函数中,你可以使用它,如下所示

<script type="text/javascript">
    $(function () {

          var appointments= ngon.Appointments;
          // You logic will come here  
    }); </script>

试试看,它应该工作。

于 2013-04-17T06:29:16.677 回答