-1
顧客の住所と連絡先番号を表示するとします。顧客を選択するためのドロップダウンがあり、選択した顧客の住所と連絡先番号を表示する必要があります。Jsonとしてビューにオブジェクトを渡すコントローラからの結果
お客様の住所と連絡先番号を返すストアドプロシージャを作成しました。
これは、ビューのCustomerドロップダウンです。
<div class="form-group">
@Html.LabelFor(model => model.CustomerName, htmlAttributes: new { @class = "control-label col-md-4" })
<div class="col-md-8">
@Html.DropDownListFor(model => model.CustomerName, new SelectList(ViewBag.CustomerName, "Id", "Name"), "Select Customer", new { @class = "form-control", id = "cmbCustomerList" })
@Html.ValidationMessageFor(model => model.CustomerName, "", new { @class = "text-danger" })
</div>
</div>
これまでに試したスクリプトです。
"#AddressSection":住所や連絡先番号表示エリア
"#cmbCustomerList":お客様ドロップダウンリスト
"セールス/ GetCustomerDetails":コントローラとアクション
$(document).ready(function() {
//Address Section
$("#AddressSection").hide();
$('#cmbCustomerList').change(function() {
if ($('#cmbCustomerList :selected').text() == "Select Customer") {
$("#AddressSection").hide();
}
else {
$("#AddressSection").show();
var selectedVal = $(this).find(':selected').val();
$.get("/Sales/GetCustomerDetails/" + selectedVal, function (data, status) {
//Here I want to pass the values to the address and contact number labels
});
}
});
});
このコントローラー内のアクションです。
public JsonResult GetCustomerDetails(int id)
{
List<CustomerViewModel> customer = _handler.GetCustomerDetails(id);
return Json(customer, JsonRequestBehavior.AllowGet);
}
ビューに3つのラベルを付けて、住所と連絡先番号を表示します。 CustomerViewModelで
<label id="lblAddressLine1" />
<label id="lblAddressLine2" />
<label id="lblContactNumber" />
住所1、住所2 、 ContactNumber
は、だから私の質問は、ビューで個別にこれらの3つのプロパティにアクセスする方法であるとして、3つのプロパティがありますか?
ありがとうございます。
を使用することができる唯一のとにかく1つの顧客の詳細があれば、あなたのコレクションを返す、なぜ私は取得できませんでした。そして、なぜあなたは一人の顧客の詳細だけを望んでいるときにあなたの戻り値 'List? –
idで簡単にアクセスできるようなもの。 3つのプロパティを返さなければならないので、Listを使用しました。これが良い方法でない場合は、私にお知らせください。ありがとうございました –
sandaru
質問ではなく、コメントにあります。そして、あなたはまだコレクションを返す理由を説明していません –