2016-08-24 9 views
0

こんにちは、私は私のコントローラにするJsonResultからテキストラベルを変更する必要があり、誰もが...私は2つの問題...コントローラーからajaxでラベルを変更しますか?

  • 1を持っている)、私は私の意見に私は私の から送信するテキストを印刷することはできませんコントローラ...

  • 2)私は私のドロップダウンリストから
    オプションを選択したとき、私は私のコントローラから3つのラベルを送りたいです。

    誰かがこれを行う方法を知っていれば助けてください...私のコントローラ上で:)

私のビュー

<div class="col-md-6 col-sm-6 col-xs-12"> 
    <label id="lblCargo"></label> 
</div> 

@section scripts{ 
    <script> 
     $(document).ready(function() { 

     $("#ddlEmpleado").change(function() { 
      var selectedItemValue = $(this).find(":selected").val() 

      $.ajax({ 
       cache: false, 
       type: "GET", 
       url: '@Url.Action("getLabels", "AsignarBien")', 
       data: { 
        "id": selectedItemValue, 
       }, 
       contentType: 'application/json; charset=utf-8', 
       Success: function() { 
        $("#lblCargo").text(data); 
       }, 
       error: function() { 
        alert("error"); 
       } 
       } 
      ); 
     }); 

    }); 
</script> 
} 

を私はこの

public JsonResult getLabels(Guid id) 
{ 
    var result = (from item in vempleados.GetAll().ToList() 
     where item.IdEmpleado == id 
     select item.Cargo).SingleOrDefault(); 

    return Json(result, JsonRequestBehavior.AllowGet); 
} 
を得ました
+2

成功関数にデータパラメータが必要です。また、item.Cargoあなたのクエリのオブジェクトまたは文字列ですか? – Jecoms

+0

はい、このようなものをあなたの成功に当てはめる必要があります。成功:function(data){ $( "#lblCargo")。text(data); }、 –

+2

JSONオブジェクトを返す場合は、反復するか、key、valueでアクセスしなければなりません。 –

答えて

0

3つの小さなchそれは動作します:

  1. successは小文字でなければなりません。
  2. dataパラメータをsuccess関数に追加します。

    $.ajax({ 
        cache: false, 
        type: "GET", 
        url: '@Url.Action("getLabels", "AsignarBien")', 
        data: { "id": selectedItemValue}, 
        success: function (data) { 
         $("#lblCargo").text(data); 
        }, 
        error: function() { 
         alert("error"); 
        } 
    }); 
    

    注:

  3. は、このようなあなたの$.ajax呼び出しを行い、基本的selectedItemValue

後にコンマ(,)であってはならないあなたがGETリクエストのためのcontentTypeを指定する必要はありませんあなたはそれを完全に取り除くことができます。

関連する問題