2016-01-18 18 views
1

我有腳本Url.Action錯誤不存在對象

$(function() { 
    $.support.cors = true; 
    jQuery.support.cors = true; 
    $.ajax({ 
     crossDomain: true, 
     type: 'GET', 
     url: 'http://example.com/WCFRESTService.svc/GetCategories', 
     success: function(result) { 
      var s = ''; 
      for (var i = 0; i < result.length; i++) { 
       s += '<br><a href="@Url.Action("GetAnn", "Home",new { categories_id=result[i]["Categories_id"]})">' + result[i]["Name_Category"] + '</a>'; 
       $('#content').html(s); 
      } 
     } 
    }); 
}); 

Url.Actionresult[i]["Categories_id"]給出了一個錯誤。

命名爲「結果」不INT當前上下文

如何轉移到我的對象結果存在嗎?

+1

您正在混合c#和js代碼。你需要將href設置爲生成的url - '/ Home/GetAnn?.....' – BenG

回答

3

在服務器端處理它時,您無法將JavaScript(客戶端)變量傳遞到Url.Action

作爲解決方法,您可以使用佔位符來生成URL。然後使用.replace()方法來生成實際的網址。

var s = ''; 
//Generate a variable with URL 
var url = '@Url.Action("GetAnn", "Home", new { categories_id = -1})'; 
for (var i = 0; i < result.length; i++) { 
    s += '<br><a href="' + url.replace(-1, result[i]["Categories_id"]) + '">' + result[i]["Name_Category"] + '</a>'; 
    $('#content').html(s); 
} 
+0

謝謝!有用! – Denisiva