0

データベースからデータを取得して関数で返すコントローラー クラスがあります。この関数を js で呼び出し、データを変数に設定してページに表示します。

私のコードは次のようになります: exampleController.cs

namespace iSee.WebApiHse.Controllers
{
    public class expController : StandardController
    {

        public expController(
            first myService,
            ISystemSettings systemSettings,
            IService myExpService)
        {
            _myService = MyService;
            _systemSettings = systemSettings;
            _myExpService = myExpService;
        }

        // GET data
        public ActionResult Myexample(int id)
        {
            var elementIds = _systemSettings.ExpIds; 

            var myElements = CacheService.AllVisibleElements
                                  .Where(x => elementIds.Contains(x.Id)).ToList();

            var container = _kpiContainerService.Find(id);

            var result = _myService.MonthByContainer(myElements, container);
            return AsJson(result);
        }
    }
}

これは機能し、データを取得します。これでmyExp.js、これらのデータを使用する必要があることがわかりました。どうやってやるの?

ありがとう

4

5 に答える 5

2

$ajax(..)サーバーから計算情報を渡して取得するには、コントローラーに対して (jquery 構文) 要求を実行する必要があります。

このためには、これから呼び出すコントローラー メソッドを HTTP アクセス用に公開する必要があります。

の詳細:

javascriptからコントローラメソッドを呼び出す方法

于 2013-06-26T07:16:10.993 に答える
0

View by JavaScript でコントローラーを操作しますか? それは良い考えではありません。Model を View に渡して操作するか、ajax で json-data を受け取る必要があります

于 2013-06-26T07:16:51.163 に答える
0

jQuery-ajaxを使用して C# メソッドを呼び出す例:

// javascript

var id = 987;

$.ajax({
    url : '/expController/Myexample/',
    type : 'GET',
    data { id : id },
    dataType : 'json', // <-- tell jQuery to decode the JSON automatically
    success : function(response){
        console.log(response);
    }
});

これによりメソッドが呼び出され、 の値が渡され、idJSON がresponseオブジェクトにデコードされます。

プレーンな Javascript ajax (jQuery なし) については、MDN Ajaxを参照してください。

于 2013-06-26T07:17:16.390 に答える
0

Action にリクエストを行う必要がありますMyexample。通常、これは次の方法で行われますAJAX

あなたの見解では、次のことができます:

function makeAJaxCall(idToSend) {
    $.ajax({
        url: '@Url.Action("exp", "Myexample")',
        data: { id : idToSend },
        type: "POST",
        success: function(data) {
           $("#HTMLElement").val(data.YourData);
        }
    });
}

呼び出しが成功すると、応答がdata変数に返されます。HTMLElementAJAXを使用して HTML 要素の値を変更する方法を示す例を提供しました。ID

関数を呼び出すには、次のことができます。

 makeAjaxCall(100);
于 2013-06-26T07:17:27.047 に答える
0

次のように、JSON データを にロードし、varそれを の関数に渡すことができますexpjs.js

var data = data_from_ajax();
exp_js_function(data);

data_from_ajax()コントローラーとアクション メソッドから JSON データを受け取ります。

これは、コピペの解決策ではなく、出発点と考えてください。

于 2013-06-26T07:20:33.473 に答える