0

そこで、C#を使用して、データベースに格納されているHTMLを取得し、それを設定されたHTMLヘッダーとフッターの間に表示しようとしています(ページごとにこれらがいくつかあるため、マスターページを使用すると、作業が少なくなるのではなく複雑になります。また、これが一種の動作方法であるPHPのバックグラウンドから来ています)。

<!--#include virtual="header.html" --> 
<% @Page Language="C#" Debug="true" %>
<% @Import Namespace="System.Data.Odbc" %>
<% @Import Namespace="System.Web.Configuration" %>

<script language="C#" runat="server">
void Page_Load(object sender,EventArgs e) {
           //Gets the HTML Successfully
           //Response.Write(fetched_html);
    }
</script>
<!--#include virtual="footer.html" --> 

残念ながら、現在のワークフローでは、ヘッダーまたはフッターがページに配置される前にコードがコンテンツを生成し、保存されているすべてのHTMLをページの上部のヘッダーの前に配置します。私はいくつかの異なるPage_Eventsを試しましたが、どれも機能していないようです。そのため、何をすべきかを知る必要があります。

Page_Eventsの前にレンダリングされる単純なhtmlヘッダーファイルを参照して挿入する同様に簡単な方法はありますか?Page_PreLoadなどを試しましたが成功しませんでした。コードがまったくフェッチされないか、同じ問題が発生します。

4

2 に答える 2

1

ContentPlaceholderでMasterPageを使用します。次に、コンテンツページで、リテラルを使用してHTMLを配置します。

「リテラルとラベルの違い」を参照してください。

于 2012-05-04T19:54:08.340 に答える
1

これを試して:

  1. データテーブル、データセット、コレクションなど、メモリ内のどこかにデータを保持していると仮定します。

  2. ページにhtmlテキストを表示するには、通常、を使用します<asp:Literal/>。したがって、ページにaspリテラルコントロールを配置します。<body> </body>タグの間に機能します。

  3. 次に、Textプロパティを使用してテキストをコントロールにレンダリングします。例えば

    ltl.text = dt.rows[0]["htmlcol"].tostring();

内部にテキストを動的に追加するには、 HtmlMetaPageなどのクラス<head> </head>が必要です。

于 2012-05-04T19:55:31.740 に答える