2017-12-05 14 views
1

C#でasp.net WebFormページを使用していますが、int placeIdstring placeおよびBaladi baladiのクラスPlaceがあります。jsonオブジェクトから値を取得してドロップダウンリストに割り当てます

Baladiクラスの属性は、int baladiIdstring baladiです。

javascript私はオブジェクトPlaceを返すメソッドを呼び出しています。 そして私は、私はPlace.placeIdとしてPlace.placeとのHiddenFieldとしてのTextBoxの値を設定することができる午前のTextBoxのHiddenFieldDropDownListの、 とブートストラップモーダルを持っています。

私が必要とするのは、ドロップダウンリストの選択インデックスをPlace.baladi.baladiIdに基づいて設定することです。 私のコードを試してみると、DropDownListの最初の項目が選択されたままです。以下は

は私のコードです:

public class Place 
{ 
    public int placeId { get; set; } 
    public string place { get; set; } 
    public Baladi baladi { get; set; } 
} 
public class Baladi 
{ 
    public int baladiId { get; set; } 
    public string baladi { get; set; } 
    } 

<script> 
     $(document).on("click", ".btnEdit", function() { 
      var pid = $(this).data('id'); 
      $.ajax({ 
       type: "POST", 
       url: "place.aspx/getPlace", 
       data: '{placeId: "' + pid + '" }', 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", // dataType is json format 
       success: OnSuccess, 
       error: OnErrorCall 
      }); 

      function OnSuccess(response) { 
       console.log(response.d); 
       $("#txtEditPlace").val(response.d['place']); 
       $("#ddlCity").val(response.d['baladi']['baladiId']); 
       $("#hfPlaceId").val((response.d['placeId'] == null ? "" : response.d['placeId'])); 
      } 
      function OnErrorCall(response) { console.log(response); } 
     }); 
    </script> 

任意の助けをいただければ幸いです!

答えて

0
public int baladiId { get; set; } 

baladiIdはint型として宣言されています。 val関数は、文字列が渡されたときにのみ機能します。IE "2"および2は、同等の値ではありません。ドロップダウン・バリューを設定する前にbaladidIdをキャストしようとしましたか?試してみました

$("#ddlCity").val(String(response.d['baladi']['baladiId'])) 
+0

、 –

+0

はあなたが私に何を 'はconsole.log(response.d [ 'バラディ'] [ 'baladiId'])'出力を伝え、その後または多分あなたのhtmlを更新することができます動作しません。あなたが正しい値を得ていないか、マークアップにあなたが受け取った値のオプションがない可能性があります。 –

+0

私は正しい値を受け取るが、依然としてそれを割り当てることはできない。 –

関連する問題