2012-04-09 3 views
5

page_loadのページにエラーメッセージを確認して表示する必要があるaspxページがあります。私はどのようにこのコードブロックは、いくつかの条件をchechking後にページに追加する必要がありますページの読み込み時にコードビハインドを使用して特定の場所にHTMLコードセクションを挿入する方法

<div class="errorMessage">The user ID or password you entered does not match our records. Please try again. <br /> 
     You may also securely recover your <a href="#">User ID</a> or reset your <a href="#">Password</a> online. 
    </div> 

...そしてその一部といくつかの他の機能は、コードbehide機能にpage_load()

を実装されています。エラーメッセージは以下の通りですコードの背後にあるpage_load()のコードをaspxファイルにインラインで記述することなく、これを使ってください。

答えて

9

はIDを持つdiv要素とにrunat = "サーバー" を作成します。

divErrorMessage.InnerHtml = "Your message"; 
:背後にあるコードであなたのPage_Loadイベントから次に

<div ID="divErrorMessage" runat="server" class="divErrorMessage"></div> 

を、あなたはdiv要素の内部HTMLを設定することができます

フラグrunat = "server"を設定すると、コード内でコントロールを利用できるようになります

0

これを実行する方法はたくさんあります。あなたのdivをASPパネルコントロールで囲みます。

pnlErrorMessage.Visible = true;

4

はあなただけの私たちは新しいLiteralコントロールを作成するには、この例ではPage_Loadの

protected void Page_Load(object sender, EventArgs e) 
{ 

    Literal lit=new Literal(); 
    lit.Text = @"<div class='errorMessage'>The user ID or password you entered does not match our records. Please try again. <br /> 
          You may also securely recover your <a href='#'>User ID</a> or reset your <a href='#'>Password</a> online. 
         </div>"; 
    Page.Controls.AddAt(0,lit); 

} 

inthe以下のようなコードを追加して、中にあなたのHTMLを追加することができます:あなたのPage_Loadで

<asp:Panel runat="server" ID="pnlErrorMessage"> 
    <div class="errorMessage">The user ID or password you entered does not match our records. Please try again. <br /> 
    You may also securely recover your <a href="#">User ID</a> or reset your <a href="#">Password</a> online. 
    </div> 
</asp:Panel> 

それはTextプロパティで、このリテラルコントロールを現在のaspxページのcontrolsコレクションに追加します。

このdivの位置をCSSスタイルで変更することができます。また、「Page.Controls」オブジェクトに直接追加するのではなく、既存のPanelに追加することもできます。たとえば、「Panel1」に追加できます。コントロール "をクリックします。

しかし、コードの中で直接行うのはベストプラクティスではありません。リソースファイルをうまく使うことができます。

関連する問題