スキンファイルにコードブロックを配置できないという事実を回避するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/464052

質問

私が書いているasp.netページがあり、この問題に困惑しています。 LINQにバインドする3つのDetailViewがあります。バインディングはうまく機能します。これで、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")

その他いくつか。残念ながら、スキンファイルはコードブロックを許可しません。詳細ビューの下部にtemplateFieldを配置するため、aspxページ自体にテンプレートフィールドを追加できません。私が尋ねているのは次のとおりだと思います:

スキンファイルにコードブロックを配置できないという事実を回避するにはどうすればよいですか?

役に立ちましたか?

解決

これらの詳細ビューをレイアウトするためのカスタムコントロールを作成した方が良いのではないかと思いますか?

スキンファイルは、動作やバインディングよりもスタイルを変更するためのものです。

カスタムコントロールを使用すると、これらすべてを実行し、3つのデータビューの共有レイアウトの利点を得ることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top