0

JQuery データ テーブルを mvc 形式で使用しています。条件を使用して、JQuery データ テーブルをバインドします。しかし、条件を他の方法でエラーメッセージを表示する方法がわかりません。サーバー側がクライアント側であるというエラー警告メッセージを表示する必要があります。私のサンプルコード:

 public ActionResult Action(string EmpNo)
        {
            if (condition)
            {
               // data table passing
            }
            else
            {
                //here how to show the error message client side or server side 
            }
         }
4

2 に答える 2

0

DataTables の予期されるリターンJsonResultシグネチャと一致する任意のオブジェクト (作成した場合は実際のオブジェクト) を返す必要があります。何かのようなもの:

var result = // do something, get a list of stuff etc

return new JsonResult {
    // `Data` is the thing that turns into your json response
    Data = new {
        error = result.Success ? "" : result.Message,
        fieldErrors = new bool[0], // just to fake an empty array
        data = new bool[0],
        aaData = result.Success ? result.Items.Select(o => new {
            //use arbitrary column names if you've specified them in config with `aoColumns` and `mDataProp`, see comment below
            OrderID = o.ID,
            ChannelID = o.Partner,
            ReferenceKey = o.PartnerReferenceKey,
            o.CustomerEmail,
            Status = o.Status.ToString(),
            Value = o.Total,
            CreatedOn = o.CreatedOn.ToString("yyyy-MM-dd HH:mm:ss"), // provide in interpretable format
        }) : (object) new bool[0], // must return an empty list in order for it to understand errors
        iTotalRecords = result.TotalCount,
        iTotalDisplayRecords = result.TotalCount, // should be different if filtering
        sEcho // this is provided by the request, not sure what it means...
    }
};

ajax 応答からのカスタム列名については、以下を確認する必要があります。

于 2013-08-16T17:37:54.457 に答える
0

JavascriptResult を返すことができます。JavaScript結果

return Javascript("yourJS COde");

このようなもの

public ActionResult TestJavaScript() {
    string s = "$('#divResultText').html('JavaScript Passed');";
    return JavaScript(s);
}
于 2013-03-14T05:04:05.247 に答える