2016-08-24 44 views
0

大家好,我需要改變從JsonResult文本標籤上我的控制器......我有兩個問題...用控制器的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對象,則必須對其進行迭代,或者通過鍵值對其進行訪問。 –

回答

0

三小巧它會工作:

  1. success必須小寫。
  2. data參數添加到success函數。
  3. selectedItemValue

基本上不應該有逗號(,)使您$.ajax電話這樣的:

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

注意:您不需要指定的contentType的GET請求,所以你可以完全解決這個問題。