C# 如何在ASP.NETMVC3中呈现部分页面
在我的ASP.net MVC3 Razor项目中。我必须在普通视图页面中实现部分页面,但仅在操作调用后启用。但这两个文件都引用了单个视图模型。 如何在视图页面中使用部分页面 部分页面的控制器代码C# 如何在ASP.NETMVC3中呈现部分页面,c#,asp.net-mvc,asp.net-mvc-3,razor,C#,Asp.net Mvc,Asp.net Mvc 3,Razor,在我的ASP.net MVC3 Razor项目中。我必须在普通视图页面中实现部分页面,但仅在操作调用后启用。但这两个文件都引用了单个视图模型。 如何在视图页面中使用部分页面 部分页面的控制器代码 //View Customer Data Detailed public ActionResult DetailedData(int CusId) { var data = from c in cus.CusModelData where c.CusId == C
//View Customer Data Detailed
public ActionResult DetailedData(int CusId)
{
var data = from c in cus.CusModelData
where c.CusId == CusId
select c;
return View(data.ToList());
}
视图代码
<td>
@* @Html.ActionLink("Edi", "Edit", new { id = item.CusId }) |*@
@Html.ActionLink("Details", "DetailedData", new { CusId = item.CusId }) |
@Html.ActionLink("Delete", "DeleteCustomer", new { CusId = item.CusId })
</td>
现在我正在使用像这样的内部视图页面
查看客户数据详细信息
@(Html.Partial(“DetailedData”)
但它同样会在视图页面中显示表数据,但我只想在单击“详细信息”链接后显示它
我会在点击链接后使用ajax调用,比如:
.get("/Details/DetailedData",{"CusId" : requestedId}, function (data) {
$("#your-detail-container").html(data);
});
$("#your-detail-container").html(data);
将用视图(html)填充详细信息容器
如果DetailedData操作返回PartialView,而不是类似以下内容的视图,则会更好:
public ActionResult DetailedData(int CusId)
{
var data = from c in cus.CusModelData
where c.CusId == CusId
select c;
return PartialView(data.ToList());
}
回答您的评论:
我建议使用
@Ajax.ActionLink
反而
@Html.ActionLink
或者只使用锚定标签。
替换
@(Html.Partial("DetailedData")) with <div id="detailed-data-container"></div>
您好,这是正确的@Html.ActionLink(“Details”,“DetailedData”,null,new{CusId=item.CusId},new{@class=“detailsLink”})查看客户数据详细信息@(Html.Partial(“DetailedData”))$(函数(){$('.detailsLink')。单击(函数(){$('#Details').load(this.href);返回false;});});
@(Html.Partial("DetailedData")) with <div id="detailed-data-container"></div>
$(document).on("click",".detailsLink", function () {
.get("/Details/DetailedData",{"CusId" : requestedId}, function (data) {
$("#detailed-data-container").html(data);
});
});