【发布时间】:2016-10-28 08:13:23
【问题描述】:
我在 Visual Studio 中使用 C#、LINQ 和母版页创建了 Code First Entity Framework ASP.NET Web 表单应用程序,因此这些表是根据我手动输入的种子数据自动创建的,该种子数据是来自我的图形和网页设计组合。共有三个类别:页面布局、插图和网页设计。当点击这三个类别之一时,另一个页面显示缩略图列表,这些缩略图都是 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>
【问题讨论】:
标签: c# asp.net linq webforms master-pages