系统附件有关的字段有:附件字段,图片字段,图片组字段,附件组字段四种,这四种字段上传的文件都会附件表中进行记录好分类,并进行了唯一性关联,具体见:系统>表管理>附件表,下面为模板中调用附件数据的方法。
方法1:获取附件组或图片组字段相关的附件数据列表,类型为集合
Html.AttachmentDataList(object)
方法2:获取附件或图片字段相关的附件数据,类型未对象;v4.0.10版新增加的方法
Html.AttachmentData(string parentTable,string parentField,int parentId);
实例1:循环读取product表中id等于1,字段名为images的附件数据列表。
<ul>
@foreach(var item in Html.AttachmentDataList(new{ParentTable="product",ParentField="images",ParentId=1}))
{
<li>
<img src="@item.Path" alt="文件路径" />
<img src="@item.Thumbnail" alt="图片缩列图路径,附件组此字段为空" />
<span>文件大小:@(item.Size)kb</span>
<span>原始文件名:@(item.Name)</span>
<span>上传时间:@(item.Thedate)</span>
</li>
}
</ul>Html.AttachmentDataList参数:
ParentId:父级表的Id
ParentTable:父级表的名称
ParentField:父级表对应字段
注:如需要限定读取附件的个数,可通过自定义序号和配合break关键词跳出循环。
实例2:读取product表中id等于1,字段名为thumbnail的附件数据。
@{
var attachmentData = Html.AttachmentData("product", "thumbnail",1);
if (attachmentData != null)
{
<p><img src="@attachmentData.Path" alt="文件路径" /></p>
<p><img src="@attachmentData.Thumbnail" alt="图片缩列图路径,附件组此字段为空" /></p>
<p>文件大小:@(attachmentData.Size)kb</p>
<p>原始文件名:@(attachmentData.Name)</p>
<p>上传时间:@(attachmentData.Thedate)</p>
}
}