スクリプト:
<script type="text/javascript">
function getMeterInfo(meter_id) {
$.ajax({
url: '@Url.Action("MeterInfo", "Power")',
data: { meter_id: meter_id},
dataType: "json",
type: "GET",
error: function () {
alert("Error!");
},
success: function (data) {
var item = "";
item += data.sno + " " + data.customer_id + data.city + data.region; //+ more info about meter.
$("#meter_info").html(item);
}
});
}
$(document).ready(function () {
$("#meters").change(function () {
var meter_id = $("#meters").val();
getMeterInfo(meter_id);
});
});
</script>
注:成功関数の内容が正しくないことはわかっています。そこに何を書けばいいのかわからない。
cshtml
@Html.DropDownList("sno", new SelectList(Model, "sno", "meter_name"), "-- Select Meter --", new { id = "meters" })
<table id=meter_info>
</table>
コントローラ
[HttpGet]
public ActionResult MeterInfo(string meter_id)
{
int _meter_id = Int32.Parse(meter_id);
var _meter = entity.TblMeters.Where(x => x.sno == _meter_id).FirstOrDefault();
return Json(_meter, JsonRequestBehavior.AllowGet);
}
モデル
public class TblMeters
{
int sno;
int customer_id;
string city;
string region;
.....
}
モデル値 (sno、customer_id、city、region など) を html テーブルに表示したいと考えています。プログラムをデバッグすると、コントローラーのアクションは期待されるデータを返します。
- 名前が meter_info であるテーブルに返されたデータ項目を表示するにはどうすればよいかわかりません。
- 上記のコードを実行すると、成功関数ではなくエラー関数が機能します。
テーブルにデータを表示するにはどうすればよいですか? そして、なぜエラー機能が機能するのですか?
ありがとう。