尝试将数据字符串从控制器传递到视图

时间:2019-07-25 09:14:50

标签: c# asp.net-mvc

我正在尝试使用Viewbag从控制器传递数据字符串以进行查看 但无法获取值

在视图方面,我已经在viewbag中收到了数组值的字符串 在控制器端并想在视图端填充表的列

控制器

 object o = command.Parameters["var_value"].Value;
 if (o != null)
 {
  string val = o.ToString();
  string[] values = val.Split('~');
  ViewBag.values = values;
}

查看

var values=@ViewBag.values as string[];
<table class="table">
        <tr>
            <th>A</th>
            <th>B</th>
            <th>C</th>
         </tr>
        <tr>
            <td>values[1]</td>
            <td>values[2]</td>
            <td>values[3]</td>
         </tr>

预期:值应绑定到视图侧的列中 实际:值未绑定到视图侧的列中

2 个答案:

答案 0 :(得分:1)

将变量放入C#代码块中。

@{
    var values = ViewBag.values as string[];
}

<table class="table">
    <tr>
        <th>A</th>
        <th>B</th>
        <th>C</th>
     </tr>
    <tr>
        <td>@values[0]</td>
        <td>@values[1]</td>
        <td>@values[2]</td>
     </tr>

答案 1 :(得分:0)

像这样使用它:

@foreach(var str in ViewBag.Collection)
{
    @Html.Raw(str); <br/>
}

@for (int i = 0; i <= 2; i++ )
{
    @Html.Raw(ViewBag.Collection[i]) <br/>
}

查看此链接: Access a Viewbag like an Array?