2

私のシナリオは、ActiveDirectoryオブジェクトを返すWebAPIを作成したことです。

このWEBAPI関数でActiveDirectoryユーザーを作成し、First Name , Last Name, Email, UserName, Etc...を含むActiveDirectoryオブジェクトを返すユーザーを作成します。エラーが発生した場合はどうすればよいですか。

Kendo GridInLineEditを使用していますhttp:
//demos.kendoui.c​​om/web/grid/editing-inline.html エラーメッセージをポップアップウィンドウとして表示したい

どうすればいいですか?

オプション

  1. エラーをキャッチして、ActiveDirectoryオブジェクトを例外として配置してみてください???

    • これを剣道UIでキャプチャするにはどうすればよいですか?
  2. 応答をスローしてエラーメッセージを取得し、剣道グリッドに表示します

    // HttpResponseMessage msg = new HttpResponseMessage(HttpStatusCode.OK)// {// Content = new StringContent(string.Format( "No User with ID = {0}。{1}"、businessObject.UserName、ex.InnerException.ToString ()))、// ReasonPhrase = "CustomerIDがデータベースに見つかりません!" //}; //新しいHttpResponseException(msg);をスローします

また

  //var message = string.Format("Error Message: {0}", taskCreateADUser.ADExceptionDescription);
                //throw new HttpResponseException(
                //    Request.CreateErrorResponse(HttpStatusCode.OK, message)); 

ありがとう、MarcLevin

4

2 に答える 2

3

KendoUI が Ajax 経由でバインドするときは常に、json 応答で送信されるシリアル化されたバージョンの ModelState に依存します。基本的に、ModelState が有効でない場合、ウィジェット (この場合はグリッド) に返される json 応答には、次のようなものが含まれます。

{
  "Errors":{
     "PropA":{
        "errors":[
           "Error1",
    "Error2"
        ]
     },
     "PropB":{
        "errors":[
           "FUBAR"
        ]
     }
  }
}

基本的に、グリッドに応答させたい場合、WebAPI は同様のデータ構造を返す必要があります。

于 2012-11-15T19:40:51.223 に答える
0

これはオプション 2 に関するものです。特定のシナリオに以下を正しく適用する必要があります。これは、応答の非常に単純な解析のサンプルであり、エラーが検出された場合にアラートを表示します。このサンプルでは、​​アイテムの配列を含む JSON オブジェクトが必要です。基本的な考え方を理解したら、より高度な処理を確実に適用できます。

    $("#grid").kendoGrid({
                dataSource: {
                    schema: {
                        data: function(data) {
                            if (data.Items[0].substring(0,37) == "allmyerrormessagesstartwiththisphrase"){
                            alert(data.Items[0];
                            } else {
                                return data.Items;
                            }
                        }
                    },
                    transport: {
                        read: "http://myurl.com/something/"
                    }
                }
            }
        );
于 2012-11-17T21:14:20.213 に答える