mvc3局部视图错误

时间:2012-01-11 17:21:30

标签: asp.net asp.net-mvc-3 combobox partial-views

我想创建一个表单来输入客户数据。它由几个文本框和一个组合框组成。整个问题在于这个组合框。当我尝试渲染此部分视图时,会收到错误:“对象引用未设置为对象的实例。”

这是部分视图控制器代码

public PartialViewResult GetStates()
        {
            var states = from s in conn.order_data select s.state;
            return PartialView(states.ToList());
        }

GetStates partialview

@model IEnumerable<bookstore.state>

@foreach (var item in Model) {

    <select>
    <option>@item.STATE_Name</option>
    </select>
}

主视图的一部分

<div class="editor-field">
    @{Html.RenderPartial("GetStates");}
 </div>

请帮助

2 个答案:

答案 0 :(得分:3)

除非您动态加载视图(在这种情况下,您可以使用jquery get执行此操作) 这是你怎么做的

控制器:

public ActionMethod MainView()
{
  var model = new myMainModel { States = from s in conn.order_data select s.state };
  return View()
}

主要观点:

@Html.Partial("MyPartialViewName", Model.States);

答案 1 :(得分:1)

试试这个:

if(states != null)
{
  return PartialView(states.ToList());
}

return PartialView();