2011-02-04 93 views
0

我在部分视图中创建了一个下拉列表,我试图在我的aspx页面上呈现该列表。我得到一个错误:部分视图显示错误

{"Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'."}

这是我的aspx页面,在这里我使用的是ascx控件:

<td> 
    <% Html.RenderAction("getFilterdData");%> 
</td> 

我的ascx控件看起来是这样的:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewPage<IEnumerable<assist>>" %> 
<%=Html.DropDownList("Assists", (SelectList)ViewData["Assists"], "--Select One--")%> 

和我的控制器代码是这样的:

public ActionResult getFilterdData() 
{ 
    scorerep sc = new scorerep(); 
    ViewData["Assists"] = new SelectList(sc.FilterData(), "assist_a",""); 
    return View(); 
} 

为什么我得到这个错误,我该如何解决它?

+0

采取这里http://stackoverflow.com/questions/2817287/partial-views-in-asp-net-mvc – Paul 2011-02-04 23:01:41

回答

1

没有看到整个异常堆栈跟踪很难帮助。以下是一些提示:

  • 请确保您的部分Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<assist>>"而不是Inherits="System.Web.Mvc.ViewPage<IEnumerable<assist>>"。您正在使用ASCX部分并从System.Web.Mvc.ViewPage继承,这是错误的。
  • 确保您的局部视图被称为完全一样的控制器动作:getFilterdData.ascx(我在这里看到一个错字)
  • 确保Assist类包含一个名为assist_a为属性的渲染,当你使用的是什么dropdow
  • 确保在获取数据时不会在getFilterdData控制器操作中抛出异常。

这里有一个工作示例:

型号:

public class Assist 
{ 
    public string Id { get; set; } 
    public string Value { get; set; } 
} 

控制器:

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    public ActionResult GetFilteredData() 
    { 
     // TODO: replace with your repository logic 
     ViewData["Assists"] = new SelectList(new[] { 
      new Assist { Id = "1", Value = "Assist 1" }, 
      new Assist { Id = "2", Value = "Assist 2" }, 
      new Assist { Id = "3", Value = "Assist 3" }, 
     }, "Id", "Value"); 
     return View(); 
    } 
} 

视图(~/Views/Home/Index.aspx):

<% Html.RenderAction("GetFilteredData"); %> 

部分:(~/Views/Home/GetFilteredData.ascx):

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Assist>>" %> 
<%= Html.DropDownList("Assists", (SelectList)ViewData["Assists"], "--Select One--") %> 
+0

谢谢看看。问题已经解决了!! – user595283 2011-02-14 23:08:05