スキンファイルにコードブロックを配置できないという事実を回避するにはどうすればよいですか?
-
19-08-2019 - |
質問
私が書いている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つのデータビューの共有レイアウトの利点を得ることができます。
所属していません StackOverflow