Asp.net mvc partialview数据的问题

Asp.net mvc partialview数据的问题,asp.net-mvc,partial-views,Asp.net Mvc,Partial Views,我对局部观点有意见。第一次渲染时,一切正常,但之后一些数据丢失 这就是我的页面的外观:这是第一次呈现局部视图的时候 但当我点击一个类别来检查他的子类别时,图像为空,不再可见。(只有名称可见) 这是我的部分观点: @model IEnumerable<OnlineCarStore.Models.CategoriesVM> <div class="container"> <div class="row"> @using (Html.BeginFor

我对局部观点有意见。第一次渲染时,一切正常,但之后一些数据丢失

这就是我的页面的外观:这是第一次呈现局部视图的时候

但当我点击一个类别来检查他的子类别时,图像为空,不再可见。(只有名称可见)

这是我的部分观点:

 @model IEnumerable<OnlineCarStore.Models.CategoriesVM>

<div class="container">
<div class="row">
    @using (Html.BeginForm("SubCategories", "Product"))
    {
        <div class="list-group col-sm-3" style="width:280px;">
            @{var selected = string.Empty;
                if (@HttpContext.Current.Session["selectedCar"] == null)
                {
                    selected = string.Empty;
                }
                else
                {
                    selected = @HttpContext.Current.Session["selectedCar"].ToString();
                }

                foreach (var c in Model)
                {
                    <a href="@Url.Action("SubCategories", "Product", new { selected = @selected, id = @c.ID, category = @c.CategoryName })" class="list-group-item">
                        <span> @c.CategoryName</span>
                    </a>
                }
            }
        </div>

        <div class="col-sm-9">
            @foreach (var c in Model)
            {
            <div class="card-group" style="width:200px; display: inline-block">
                <div class="card card">
                    <a href="@Url.Action("SubCategories", "Product", new { selected = @HttpContext.Current.Session["selectedCar"].ToString(), id = @c.ID, category = @c.CategoryName })" id="linkOnImg" class="card-group">
                        <img class="card-img-top center-block" src="@string.Format("../content/images/categories/{0}.jpg", @c.AtpID)" alt=@c.CategoryName style="padding-top: 5px">
                        <div class="card-text text-center">
                            <p class="category-card-title ">
                                <span class="text-muted">@c.CategoryName</span>
                            </p>

                        </div>
                    </a>
                </div>
            </div>
            }
        </div>
                }
</div>
@model IEnumerable
@使用(Html.BeginForm(“子类别”、“产品”))
{
@{var selected=string.Empty;
if(@HttpContext.Current.Session[“selectedCar”]==null)
{
selected=string.Empty;
}
其他的
{
selected=@HttpContext.Current.Session[“selectedCar”].ToString();
}
foreach(模型中的var c)
{
}
}
@foreach(模型中的var c)
{
}
}

这是子类别视图,其中局部视图被第二次渲染:

<div class="container">
<div class="row">       
    @Html.Partial("/Views/Home/CategorieTypes.cshtml"); 

@Html.Partial(“/Views/Home/CategorieTypes.cshtml”);
以下是产品控制器子类别方法:

 public ActionResult SubCategories(string selected, int id, string category)
    {
        List<CategoriesVM> listOfCategories = new List<CategoriesVM>();

        var list = db.Categories.ToList();
        var root = list.GenerateTree(c => c.ID, c => c.ParentId).ToList();



        TreeItem<Categories> found = null;
        var test = new TreeItem<Categories>();

        foreach (var rootNode in root)
        {
            found = TreeGenerator.Find(rootNode, (n) => n.Item.ID == id);
            if (found != default(TreeItem<Categories>))
            {
                test = found;
                break;
            }                
        }

        foreach (var item in found.Children.ToList())
        {
            CategoriesVM categoryv = new CategoriesVM();
            categoryv.ID = item.Item.ID;
            categoryv.AtpID = item.Item.AtpID;
            categoryv.Childrens = item.Children.ToList();
            categoryv.CategoryName = item.Item.AtpName;//.Name;

            listOfCategories.Add(categoryv);
        }

        SiteMaps.Current.CurrentNode.Title = selected + " " + category;

        var tests = found.Children.ToList();
        if (found.Children.ToList().Count == 0 )
        {
            return View("Index");
        }
        else
        {
           return View("SubCategories", listOfCategories);
        }            
    }
public ActionResult子类别(选定字符串、int-id、字符串类别)
{
List-listOfCategories=新列表();
var list=db.Categories.ToList();
var root=list.GenerateTree(c=>c.ID,c=>c.ParentId.ToList();
TreeItem found=null;
var测试=新树项();
foreach(根中的var rootNode)
{
Find=TreeGenerator.Find(rootNode,(n)=>n.Item.ID==ID);
如果(找到!=默认值(树项))
{
测试=发现;
打破
}                
}
foreach(found.Children.ToList()中的var项)
{
CategoriesVM categoryv=新的CategoriesVM();
categoryv.ID=item.item.ID;
categoryv.AtpID=item.item.AtpID;
categoryv.Childrens=item.Children.ToList();
categoryv.CategoryName=item.item.AtpName;//.Name;
类别列表。添加(类别v);
}
SiteMaps.Current.CurrentNode.Title=所选+“”+类别;
var tests=found.Children.ToList();
if(find.Children.ToList().Count==0)
{
返回视图(“索引”);
}
其他的
{
返回视图(“子类别”,类别列表);
}            
}
我已在开发者工具中检查了图像的源是否正确,尽管正确,但图像未显示:


你能帮我解决这个问题吗?我做错了什么?为什么第一次渲染局部视图后图像不显示?提前谢谢

部分视图的路径是
/Views/Home/CategorieTypes.cshtml
,图像的路径是
/Content/images/categories


在局部视图中,您使用
。/content/images/categories/
作为图像的路径,这意味着它将搜索无效的路径
/Views/content/images/categories

删除
src
属性中的两个点,并添加一个
~
,使其类似于:
~/Content/Images/Categories/{img}


再添加一个
。/
,以便下一级进入目录,如:

。/../Content/Images/Categories/{img}

能否在浏览器开发工具中检查图像源并确认其是否正确?谢谢!!!这就是问题所在。我去掉了2个点,现在它开始工作了:)谢谢