2012-04-14 27 views
1

這讓我瘋狂。我所要做的就是將Id傳遞給正在工作的ActionMethod,並將對象返回給javascript。然後在JavaScript中,我想能夠說出類似..Objec.Property,即/ Student.Name或Student.GPA。從控制器傳遞對象到JavaScript JQuery

任何幫助表示讚賞。我試過json,但無法讓它工作。

的ActionResult:

[AcceptVerbs(HttpVerbs.Get)] 
public Epic GetEpicPropertyDetails(int id) 
{ 
    var Epictemplist = epicRepository.Select().Where(x => x.Id.Equals(id)); 
    return Epictemplist.SingleOrDefault(); 
} 

的javascript:

<script type="text/javascript"> 
    $(document).ready(function() { 
    $(".ListBoxClass").click(function (event) { 
     var selectedid = $(this).find("option:selected").val(); 
     event.preventDefault(); 
     $.get("/Estimate/GetEpicPropertyDetails", { id: selectedid }, function (result) { 
     $(".TimeClass").val(result); 
     }); 
    }); 
    }); 
</script> 

result.Name顯然是不對的我只是不知道如何調用這個正確的方式。

+0

嘗試使用post和json – 2012-04-14 05:14:30

+0

試過了。 :) Json只在我返回字符串時才工作。如果我嘗試返回一個列表,它將不起作用。爲什麼idk。我的意思是我想我可以讓我的控制器中的方法,但我不應該這樣做 – TMan 2012-04-14 05:17:01

+0

你仍然不能直接返回它,就像你在做 – 2012-04-14 05:27:08

回答

2

TMAN改變你的方法是這樣

[AcceptVerbs(HttpVerbs.Get)] 
public JsonResult GetEpicPropertyDetails(int id) 
{ 
    var Epictemplist = epicRepository.Select().Where(x => x.Id.Equals(id)).SingleOrDefault(); 
    return Json(Epictemplist, JsonRequestBehavior.AllowGet); 
} 

比,我有一個類似的問題,即達林幫助我。我需要爲我的getJSON添加一個$ .param。看看這個職位MVC ListBox not passing data to Action

+0

是啊,仍然沒有工作。並意識到你在GetCS()中只返回一個值'Values.Length'。我只能返回一個值。但是當我嘗試返回一個對象或列表時,它不想使用IDK的原因。 Thx回覆:) – TMan 2012-04-14 12:24:19

1

嘗試從您的JS

<script type="text/javascript"> 
$(document).ready(function() { 
    $(".ListBoxClass").click(function (event) { 
    var selectedid = $(this).find("option:selected").val(); 
    event.preventDefault(); 
    $.get("/Estimate/GetEpicPropertyDetails", { id: selectedid }, function (result) { 
     $(".TimeClass").val(result.Name); 
    }, 'json'); 
    }); 
}); 
</script> 
+0

返回它沒有調用jsonresult並且沒有任何問題傳遞id,但是$ .get中的任何內容似乎都沒有達到。我甚至嘗試過.getJSON以及 – TMan 2012-04-14 05:30:48

+0

您是否嘗試過在get中指定數據類型?默認是html,如果我不記得錯誤(更新的答案) – Iridio 2012-04-14 05:37:59

+0

你的意思是說result.Name?是的..在jsonresult中,如果我將Epictemplist更改爲「HelloWOrld」,它會工作..並且只是結果不成立。名稱 – TMan 2012-04-14 05:39:34

相關問題