我创建了一个代码优先实体框架ASP。. NET Web表单应用程序使用c#、LINQ和Visual Studio中的Master Pages,所以表格是根据我手动输入的种子数据自动创建的,这是我的图形和网页设计作品集中的工作列表。有三个类别:页面布局、插图和网页设计。当单击这三个类别中的一个时,另一个页面显示一个缩略图列表,这些缩略图都是jpg文件。当单击其中一个缩略图时,它应该打开另一个视图来显示作品集片段的较大版本。然而,一个问题是,一些较大的图像是pdf,而一些是jpg。缩略图和较大的图像都具有相同的名称,除了一些较大的图像具有pdf扩展名。缩略图和较大的图像位于不同的目录中。与缩略图同名的大图位于ImagePath中。以前,有一个问题与pdf不显示,所以我添加了一个PdfPath,但现在更大的jpg不显示。在WorkDetails母版页后面的代码中有一个函数说,"如果有一个PdfPath,那么,做这个……"否则如果有ImgPath,做这个"?
WorkDatabaseInitializer类:
public class WorkDatabaseInitializer : DropCreateDatabaseIfModelChanges<WorkContext>
{
protected override void Seed(WorkContext context)
{
GetCategories().ForEach(c => context.Categories.Add(c));
GetWorks().ForEach(w => context.Works.Add(w));
}
private static List<Category> GetCategories()
{
var categories = new List<Category> {
new Category
{
CategoryID = 1,
CategoryName = "Page Layout"
},
new Category
{
CategoryID = 2,
CategoryName = "Web Development"
},
new Category
{
CategoryID = 3,
CategoryName = "Illustration"
},
};
return categories;
}
private static List<Work> GetWorks()
{
var works = new List<Work> {
new Work
{
WorkID = 1,
WorkName = "Menu",
Description = "Restaurant menu composed with Adobe InDesign",
**ImagePath="",
PdfPath="GardenMenu.pdf"**,
CategoryID = 1
},
new Work
{
WorkID = 2,
WorkName = "Dell Advertisement",
Description = "Dell Computer ad",
**ImagePath="Dell.jpg",
PdfPath="",**
CategoryID = 1
},
};
return works;
}
}
}
工作详情主页:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="WorkDetails.aspx.cs" Inherits="Grafica.WorkDetails" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<asp:FormView ID="workDetail" runat="server" ItemType="Grafica.Models.Work" SelectMethod ="GetWork" RenderOuterTable="false"> <ItemTemplate> <div> <h1><%#:Item.WorkName %></h1> </div> <br />
<table>
<tr>
<td>
<a href="Catalog/Images/<%#:Item.PdfPath %>">
<img src="/Catalog/Images/Thumbs/<%#:Item.ImagePath %>" style="border: solid;" alt="<%#:Item.WorkName %>" />
</a>
</td>
<td> </td>
<td style="vertical-align: top; text-align:left;">
<b>Description:</b><br /><%#:Item.Description %> <br /> <span><b>Project Number:</b> <%#:Item.WorkID %></span> <br />
</td>
</tr>
</table>
</ItemTemplate> </asp:FormView>
</asp:Content>
是。您要么需要这种逻辑,要么将pdf和较大的图像放在同一个目录中。