MS SQL データベースからデータを取得し、Google Visualization API を使用してこれらのグラフを Web ビューに表示する Web プロジェクトがあります。
最近、Castle windsor を追加したので、XML ファイルを使用してさまざまなユーザーに対してアプリケーションを構成できます。これを追加する前は、このクエリに必要な組み込みパラメーターを使用して、ビューは正常に機能していました。何らかの理由で、XML ファイルからパラメーターを送信すると (ブレークポイントを使用して実行すると、パラメーターがページのメイン コントローラー アクションに渡されていることが示されます)、データが返されません。これがあなたのためのコードの一部です。
JavaScript
<script type="text/javascript">
var csvDataUrl = '@Url.Action("TradeValuesDataCsv", "Dashboard")';
var jsonDataUrl = '@Url.Action("TradeValuesDataJson", "Dashboard")';
google.load("visualization", "1", { packages: ['table', 'corechart', 'gauge'] });
google.setOnLoadCallback(drawCharts);
drawCharts();
$("body").on({
ajaxStart: function () {
$(this).addClass("loading");
},
ajaxStop: function () {
$(this).removeClass("loading");
}
});
function drawCharts() {
var queryString = 'platform=' + $('#PlatformDropDownList').val();
queryString += '&startDate=' + $('#startDatePicker').val();
queryString += '&endDate=' + $('#endDatePicker').val();
queryString += '&model=' + $('#ModelDropDownList').val();
queryString += '&eventType=' + '@Model.EventType';
queryString += '¶meterName=' + '@Model.ParameterName';
$.ajax({
type: "POST",
url: jsonDataUrl,
data: queryString,
statusCode: {
200: function (r) {
drawToolbar(queryString);
drawTable(r);
drawChart(r);
},
400: function (r) {
},
500: function (r) {
}
}
});
}
メインコントローラー このページのメソッド:
public ActionResult ActionResultName(EventTypeParameterNameEditModel model)
{
var viewModel = new EventTypeParameterNameViewModel(_queryMenuSpecific);
viewModel.EventType = model.EventType;
viewModel.ParameterName = model.ParameterName;
PopulateFilters(viewModel);
return this.View(viewModel);
}
JSON データ コントローラー メソッドを取得します。
public ActionResult ActionResultNameJson(EventTypeParameterNameEditModel filters)
{
List<CustomDataType> results = this.GetTradeValues(filters);
return this.Json(results, JsonRequestBehavior.AllowGet);
}
編集かなり厄介なものであっても、解決策を見つけることができました。ユーザーがデバイスと OS でフィルター処理できるページにいくつかのフィルターが組み込まれていますが、これらはページの読み込み時に「未定義」で読み込まれていました。NHProf Running で初めてこのラウンドに気付きませんでしたが、XML からの入力を構成する前にページがロードされたときには発生していませんでした。これを回答として追加し、それを受け入れて質問を閉じます。ご協力いただきありがとうございます。このコミュニティが本当に好きになり始めています。大学院開発者としてのヘルプを見つけるのに最適な場所です。