2012-07-31 112 views
1

大家好,我有一个视图命名网格和局部视图命名的历史,我想表明我的网格页的部分观点,我有我的网页,但历史记录页面犯规的观点有他居住在这未在MVC3的部分视图中填充数据?

this is my GridsPage 

     <%  
        var grid = new WebGrid(source: Model, defaultSort: "ResourceName", rowsPerPage: 3); 
        using (Html.BeginForm()) 
        { %> 

         <%: Html.DropDownList("ResourceName", (SelectList)ViewBag.ResourceName, "--Select Project--")%> 
          <%: Html.ValidationMessage("ResourceName")%> 

          <%: Html.DropDownList("ResourceID", (SelectList)ViewBag.ResourceID, "--Select Project--")%> 
          <%: Html.ValidationMessage("ResourceID")%> 

          <%: Html.DropDownList("status", (SelectList)ViewBag.status, "--Select Project--")%>        
           <form action="Grids.aspx" method="post"> 
           <p> 
           <input type="submit" value="search" /> 
           </p> 
           </form>       
         <div id="grid"> 
         <%:grid.GetHtml(
         tableStyle: "listing-border", headerStyle: "gridhead", footerStyle: "paging", rowStyle: "td-dark", alternatingRowStyle: "td-light",        
         columns:grid.Columns(        
         grid.Column("ResourceID","Resource ID"), 
         grid.Column("ResourceName","Resource Name"), 
         grid.Column("EmployeEmailID","Employee ID"), 
         grid.Column("status","Status"), 
         grid.Column(
         header: "", 
         style: "text-align-center", 
         format: (item) => Html.ActionLink("Edit", "Edit", new { ResourceID = item.ResourceID })) 
         ))%> 
         </div> 
         <%} %> 

       //Rendering the Partial view here 
         <%:Html.Partial("History") %> 
数据

这是我的局部视图

 <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Gridview_BugTracker.Models.BugTracker_DataHelper>>" %>     
       <% foreach (var item in Model) 
        { %>       
        <div> 
         <%:Html.LabelForModel(item.EmployeName)%> 
        </div>       
        <div> 
        <%:Html.LabelForModel(item.Resolution)%> 
        </div> 

这是我的局部视图控制器

[AcceptVerbs(HttpVerbs.Get)] 
    public ActionResult History() 
    { 
     var getbugs = GetBugs(); 
     return View(getbugs); 
    } 

它不会操作方法HISTO ry .. can any correct one me我在哪里做错了

回答

0

在您的控制器

[ChildActionOnly] 
public ActionResult History() 
{ 
    var getbugs = GetBugs();   
    return PartialView(getbugs); 
} 

和你的aspx页面尝试这种改变

 <%:Html.Action("History") %> 

试试你的第一个解决方案,我正在歌厅在GetBugs错误(这发生在你的代码

+0

感谢它工作 – 2012-08-01 05:25:45

0

Html.Partial不会调用控制器。您需要指定呼叫模型:

<%: Html.Partial("History", GetBugs()) %> 

另一种选择,是的RenderAction,这将调用控制器,而事实上,整个运行时间(路线等):

<%: Html.RenderAction("History", "ControllerName"); %> 
+0

@simmon白石)它不会在上下文中存在 – 2012-07-31 12:39:23

+0

GetBugs必须是静态方法,并呼吁通过完整的类型名称在视图中,例如:YourProject.YourNamespace.YourClass.GetBugs()。否则,请改用RenderAction。 – 2012-07-31 12:41:25

+0

@Simon ...第二个方法使用...我得到错误“)预计” – 2012-07-31 13:30:36