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个点,现在它开始工作了:)谢谢