2

ASP.NET MVCアプリケーションをテスト/デバッグするときは、フォームを送信してから、すべての名前と値のペアをチェックして、次のことを確認するのが一般的です。

  1. 予想されるすべてのキーが存在します
  2. 期待されるすべてのキーには期待される値があります

Visual Studioでのデバッグは、単一の変数(または単純なオブジェクト)に期待値が含まれているかどうかを確認するのに最適です。FormCollectionに関しては、キーの存在を確認するのは非常に簡単です。ただし、FormCollectionでキーと値の組み合わせを確認するのは非常に面倒です。Visual Studioにキーとその値を並べて一覧表示させて簡単に確認する簡単な方法はありますか?

4

3 に答える 3

6

簡単なカスタムチェック

    public void Edit(FormCollection team)
    {
        System.Text.StringBuilder st = new System.Text.StringBuilder();

        foreach (string key in team.Keys)
        {
            st.AppendLine(String.Format("{0} - {1}", key, team.GetValue(key).AttemptedValue));
        }

        string formValues = st.ToString();
        //Response.Write(st.ToString());
    }

次に、マウスを置いformValuesてキー値を確認できます。拡大鏡をクリックすると、キー値が表示されます

ここに画像の説明を入力してください

于 2012-07-27T20:15:11.147 に答える
1

Glimpseを見てください。nuGetにあります。多くの情報を公開し、AJAXおよびMVC開発で非常に貴重です。

コアとなるGlimpseを使用すると、WebサイトまたはWebサービスをブラウザーで直接デバッグできます。Glimpseを使用すると、Webサーバーで何が起こっているかを「垣間見る」ことができます。言い換えると、Firebugがクライアント側のコードをデバッグすることであり、Glimpseはクライアント内のサーバーをデバッグすることです。

于 2012-07-27T19:48:47.200 に答える
0

これは、読み取り可能なキー/値ペア形式でコレクションをイミディエイトウィンドウに出力するメソッドです。出力の行ごとに1つのペアがあります。

private void DebugWriteFormCollection(FormCollection collection)
{
    foreach (string key in collection.Keys)
    {
        string value = collection.GetValue(key).AttemptedValue;
        string output = string.Format("{0}: {1}", key, value);
        System.Diagnostics.Debug.WriteLine(output);
    }
}

それをコードに追加し、ブレークポイントを設定します。ブレークポイントに到達したら、イミディエイトウィンドウからメソッドを呼び出します。

DebugWriteFormCollection(collection);

結果:

Key1: Value1
Key2: Value2
Key3: Value3
etc.
于 2020-07-23T22:03:21.677 に答える