【问题标题】:Send data from controller to view - Viewdata is still not set将数据从控制器发送到视图 - 仍未设置 Viewdata
【发布时间】:2012-04-10 14:01:25
【问题描述】:

我的视图中有一个事件处理程序,它会在单击 id 时做出反应。点击 id 后,我在控制器中调用了一个 method1。

在同一个视图中,我有一个 dropdownlost,我用我的 method1 中设置的 ViewData 填充它。

但是,由于一开始调用了 Index,而 ViewData 仍然为空,我收到错误消息,指出没有这样的 ViewData 来填充我的下拉列表。

只有在Viewdata不是eppty的情况下,如何设置下拉列表?

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    您可以在输出下拉列表之前测试 ViewData 中是否有值:

    <% if (ViewData["values"] != null) { %>
        <%= Html.DropDownList("selectedValue", (IEnumerable<SelectListItem>)ViewData["values"]) %>
    <% } %>
    

    如果您使用视图模型,甚至更好:

    <% if (Model.Values != null) { %>
        <%= Html.DropDownListFor(x => x.SelectedValue, Model.Values) %>
    <% } %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多