MVC局部视图隐藏主视图
我是MVC的新手。使用MVC 3.MVC局部视图隐藏主视图
我有PersonMaster控制器如下...有以下两个行动。
public ActionResult TopTenPersons()
{
Thread.Sleep(2000);
var persons = DatabaseHelper.Instance.Database.Query<Person_Master>("select top(10) from person_master").ToList();
return View("_PersonGrid", persons);
}
public ActionResult Index()
{
var persons = DatabaseHelper.Instance.Database.Query<Person_Master>("select * from person_master").ToList();
return View("_PersonGrid",persons);
//return View();
}
然后,index.cshtml视图是如下..
@model System.Collections.Generic.ICollection<MyPracticeApp1.Models.Person_Master>
@section scripts{
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"> </script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
}
<h2>Persons</h2>
<p>
@Ajax.ActionLink("Click to top 10 Persons","TopTenPersons", new AjaxOptions{
UpdateTargetId="tbl_person",
InsertionMode=InsertionMode.Replace,
HttpMethod="GET"
})
</p>
<div id="tbl_person">
@Html.Action("Index","PersonMaster");
</div>
..和局部视图_PersonGrid.cshtml这在上面被称为在索引视图是如下...
@model System.Collections.Generic.ICollection<MyPracticeApp1.Models.Person_Master>
@{
var persongrid = new WebGrid(Model);
}
@persongrid.GetHtml()
....但问题是它直接显示部分视图。它不是呈现索引视图的Ajax动作链接。那么,错误在哪里?
变化TopTenPersons
返回一个Partial View
,不是View
public ActionResult Index()
{
var persons = DatabaseHelper.Instance.Database.Query<Person_Master>("select * from person_master").ToList();
return PartialView("_PersonGrid",persons);
}
附加布局= null来_PersonGrid.cshtml
好像
@{
Layout = null;
}
当您添加该代码是不呈现全景..
这显示普通页面中的人格...没有默认布局...并且操作链接不显示 – 2012-04-18 12:30:31
好吧我知道但是当你设置layout = null时它会渲染部分视图。如果你不这样会渲染像整页。我遇到了像你这样的问题。这个对我有用。 – 2012-04-19 10:02:54
问题解决了..而不是返回部分视图我返回索引操作中的索引视图..它解决了 – 2012-04-22 05:10:30
它显示了网格insi de plain page ...它不会显示顶部链接应用程序名称和所有... – 2012-04-18 12:24:35
您是否尝试将此与Eray所说的相结合,并在部分视图顶部设置Layout = null? – mattytommo 2012-04-18 12:26:56
是的..请参阅评论...也行动链接不显示我想要显示在网格上面。 – 2012-04-18 12:31:08