如何处理我不能将代码块放在外观文件中的事实?

时间:2009-01-21 04:05:38

标签: asp.net eval detailsview skinning

我正在写一个asp.net页面,我对这个问题感到困惑。我有3个与LINQ绑定的DetailViews。绑定效果很好。现在,我有一个Skin文件,我想用它来布局DV,它看起来像这样。

<asp:DetailsView SkinID="blogViews" runat="server" Width="100%" CssClass="post" 
AutoGenerateRows="False" GridLines="None" FooterStyle-CssClass="comments" FooterStyle-Height="50px">
<Fields>
    <asp:BoundField DataField="blog_title" ShowHeader="False" ItemStyle-CssClass="title" ItemStyle-Font-Size="X-Large"/>
    <asp:BoundField DataField="blog_content" HtmlEncode="False" ShowHeader="False" ItemStyle-CssClass="entry" />
</Fields>

现在的问题是,我需要添加一个templateField来显示一些数据,我需要在标题和内容字段之间。通过使用模板字段,我需要执行:

Eval("blog_datetime")

和其他一些人。不幸的是,Skin文件不允许代码块。我无法将模板字段添加到aspx页面本身,因为它将templateField放在DetailsView的底部。我想我要问的是:

我如何解决无法将代码块放入外观文件的事实?

1 个答案:

答案 0 :(得分:3)

我想知道你是否最好创建一个自定义控件来布局这些细节视图?

外观文件用于修改样式而不是行为和绑定。

自定义控件允许您执行所有这些操作,并获得三个数据视图的共享布局的好处。