Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.NETMVC3中呈现部分页面_C#_Asp.net Mvc_Asp.net Mvc 3_Razor - Fatal编程技术网

C# 如何在ASP.NETMVC3中呈现部分页面

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

在我的ASP.net MVC3 Razor项目中。我必须在普通视图页面中实现部分页面,但仅在操作调用后启用。但这两个文件都引用了单个视图模型。 如何在视图页面中使用部分页面

部分页面的控制器代码

//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调用,比如:

  • 用户点击链接
  • 将执行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);
            });
     });