繁体   English   中英

如何从视图中获取ViewBag? 总是返回null

[英]How to get the ViewBag from the view? always returns null

在控制器中,我执行一个ViewBag,然后将其传输到视图,然后在其中填充数据并希望在发布请求中发送该数据,但是viewbag返回null,如何从ViewBag返回所选数据

抱歉,但是这不是使用ViewBag变量的方式。 它用于从Controller到视图(在客户端上)共享少量数据,而不是相反。

要将数据返回到服务器,您需要明确地将请求中所需的数据从客户端视图回发到服务器。

让我们分解一下

 @foreach (var item in ViewBag.List)
                        {
                            <option value="@item.Id">@item.Name</option>
                        }

在上面的代码中,ViewBag应该作为动态变量存在,并且如果在客户端请求视图时在视图包对象中设置了List,它将包含您放置在其中的所有数据。

<button class="btn" type="submit" name="action">
                        Submit
                    </button>

在这里,在上面的html中,您现在尝试回发选择的任何选项。 您将需要在此处指定一个端点,该端点将接收表单数据并执行所需的任何操作

我会从MODEL中获取更多数据

模型

 public string Name{ get; set; }

视图

@model IEnumerable<*YourProjectName*.Models.*ModelName*>

上面的代码,在* *之间将其更改为正确的项目名称和模型名称。 编写@model后,它应该自动执行

 @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.Name)
                </td>
            </tr>
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM