2011-02-04 84 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