2017-09-24 14 views
-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つのプロパティがありますか?

ありがとうございます。

+0

を使用することができる唯一のとにかく1つの顧客の詳細があれば、あなたのコレクションを返す、なぜ私は取得できませんでした。そして、なぜあなたは一人の顧客の詳細だけを望んでいるときにあなたの戻り値 'List ? –

+0

+0

質問ではなく、コメントにあります。そして、あなたはまだコレクションを返す理由を説明していません –

答えて

0

あなたは、顧客の詳細を更新したい要素のためのHTMLを表示$ .eachループ

$.get("/Sales/GetCustomerDetails/" + selectedVal, function (data, status) { 
      $.each(data, function (index, item) { 
        $("#txtAddressLine1").text(item.AddressLine1); 
      }); 
}); 
関連する問題