1

大家好,我有一个名为网格的视图页面和名为历史的部分视图,我想在我的网格页面中显示部分视图,我的页面中有视图,但历史页面中没有填充数据

   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);
    }

它不会进入动作方法历史......任何人都可以纠正我我在哪里做错了吗?

4

2 回答 2

0

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

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

另一个选项是 RenderAction,它将调用控制器,实际上是整个运行时(路由等):

<%: Html.RenderAction("History", "ControllerName"); %>
于 2012-07-31T12:25:37.683 回答
0

在你的控制器中

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

并在您的 aspx 页面中尝试此更改

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

尝试在您的代码中进行此更改

于 2012-08-01T05:25:16.300 回答