5

のページにエラー メッセージを確認して表示する必要がある aspx ページがありますpage_load。エラー メッセージは次のとおりです。

<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_load()

page_load()aspxファイルにインラインで記述せずに、関数内のコードの後ろだけを使用してこれを行うにはどうすればよいですか?

4

3 に答える 3

9

ID と runat="server" を使用して div を作成します。

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

次に、コード ビハインドの Page_Load イベントから、div の内部 html を設定できます。

divErrorMessage.InnerHtml = "Your message";

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

于 2012-04-09T15:29:04.617 に答える
4

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);

}

この例では、新しいリテラル コントロールを作成し、その Text プロパティに HTML を追加してから、このリテラル コントロールを現在の aspx ページのコントロール コレクションに追加します。

この div の位置は CSS スタイルで変更できます。また、「Page.Controls」オブジェクトに直接追加する代わりに、既存の Panel に追加することもできます。たとえば、「Panel1.Controls」に追加できます。

ただし、コード ビハインドで直接これを行うのはベスト プラクティスではありません。リソース ファイルをより適切に使用できます。

于 2012-04-09T15:36:54.043 に答える
0

やり方はいろいろありますが、これは一つです。div を asp Panel コントロールにラップします。

<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>

あなたのpage_loadで:

pnlErrorMessage.Visible = true;

于 2012-04-09T15:29:24.990 に答える