1

C# ASP.Net 4.5 を開発している Web フォーム プロジェクトがあります。ユーザー入力の検証のためにメッセージを表示するために response.write を呼び出すクラスがあります。response.write への呼び出しは、フォームのボタンを押すことによって、クラスの新しいインスタンス、つまりクラス メソッドを作成するメソッドのクラス内で行われます。しかし、response.write を使用すると、ページのテキスト ボックスが大幅に縮小されます。その後、別のボタンを押すと、テキストボックスは通常に戻ります。response.write を使用した場合にのみ発生します。どんな助けでも大歓迎です。クラスメソッドのコード呼び出し:

   HttpContext.Current.Response.Write("File not found"); 
4

3 に答える 3

0

<html>これを使用すると、テキストをページの上部 (通常はタグの外側) に単純にダンプできます。これは、残りのページ スタイルに影響を与える可能性があります。テスト応答を吐き出しているときも同じことがわかります。

代わりに、ページにラベル コントロールを配置し、代わりに入力します。必要な場所に正確に配置して、次のように呼び出すことができます。

だからこれを入れてください: <asp:Label runat="Server" id="myLabel" />メッセージを表示したい場所。

次に、コード ビハインドに次のように記述します。ラベルに指定されたテキストが入力されます。

myLabel.Text = "File not found";

コントロールはLabelとしてレンダリングされる<span></span>ので、スタイリングは素晴らしく簡単です。

を使用したい場合<div>は、Panelコントロールを使用してください。

どのようなスタイルにもこだわらない場合Literalは、html 要素をレンダリングしないコントロールを使用してください。

于 2013-05-24T20:12:51.537 に答える
0

オン コード ビハインドを使用するHttpContext.Current.Response.Writeと、ページ レンダリングの任意のランダム ポイントでテキストがページに直接送信されます。

たぶん上に、多分下に、コードビハインドを使用してそれを呼び出すと制御できないいくつかのポイントにあります。

メッセージの表示方法を変更します。少なくとも、リテラル コントロールを使用して出力をレンダリングし、表示することができます。

于 2013-05-24T20:14:01.947 に答える
0

コントロールを使用してエラーを表示することができます。例えば:

aspx/ascx で

<asp:Label id="ErrorMessage" runat="server" />

ページ/コントロール コード ビハインド

//call TheClass
TheClass c = new TheClass();
string error = c.TheMethod();

if (!string.IsNullOrEmpty(error))
{
    ErrorMessage.Text = error;
}

クラスで

public class TheClass
{
    public string TheMethod()
    {
        string result = "";
        ...
        //When file is not found
        result = "File not found";
        ...
        return result;
    }
}
于 2013-05-24T20:16:25.533 に答える