javascript
  • c#
  • html
  • 2016-12-29 64 views -1 likes 
    -1

    我想用C#構建一個像這樣的對象。如何在C#中構建一個javascript函數作爲對象?

    public JsonResult GetMyObject(){ 
    var MyObject = 
        new 
        { 
         Myfunction = "function (params) { 
          var res = params[0].seriesName + ' ' + params[0].name; 
          res += '<br/> Start : ' + params[0].value[0] + ' Max : ' + params[0].value[3]; 
          res += '<br/> End : ' + params[0].value[1] + ' Min : ' + params[0].value[2]; 
          return res; 
         }", 
         Element1 = "Test Element", 
         Element2 = 123 
        }; 
        return Json(MyObject); 
    } 
    

    但是,當我返回JSON對象的JavaScript,在MyObject來了「MyFunction的」元素只是一個字符串,而不是一個javascript函數。

    我該如何構建一個JavaScript函數作爲C#中的對象?

    +1

    你的用例是什麼,你想要做到這一點呢? – charlietfl

    +0

    你需要採取該字符串,並使用jquery將其追加到你已經有腳本標籤的視圖的一部分。我會爲你寫代碼,但我在手機外。但應該很容易,我相信你可以弄明白。 – CodingYoshi

    +0

    通常,將簡單的JSON對象(純數據)從C#API傳遞到JavaScript AJAX代碼並在JavaScript中編寫任何必需的客戶端邏輯會更容易(也更安全)。 – TrueWill

    回答

    0

    如果你想返回對象,最好是你可以創建一個類,填充和發送類作爲返回項目,它會發送給你JSON格式。

    public class MyFucntion 
    { 
        public string SeriesName { get; set; } 
        public string Start { get; set; } 
        public string End { get; set; } 
        public string Max { get; set; } 
        public string Min { get; set; } 
    } 
    
    public class MyObject { 
        public MyFucntion myFun { get; set; } 
        public string Element1 { get; set; } 
        public string Element2 { get; set; } 
    } 
    public JsonResult GetMyObject() 
        { 
         var fun = new MyFucntion 
         { 
          SeriesName =params[0].name, 
          Max = params[0].value[3], 
          Min = params[0].value[2], 
          Start =params[0].value[0], 
          End = params[0].value[1] 
         }; 
         var obj = new MyObject { 
          myFun = fun, 
          Element1 ="ElE", 
          Element2 = "ELE2" 
         }; 
         return JSON(obj); 
        } 
    

    如果您使用的是asp.net網站,您可以使用web Mehtod並且您需要更改代碼。

    [System.Web.Services.WebMethod] 
        public static MyObject GetMyObject() 
        { 
         var fun = new MyFucntion 
         { 
          SeriesName =params[0].name, 
          Max = params[0].value[3], 
          Min = params[0].value[2], 
          Start =params[0].value[0], 
          End = params[0].value[1] 
         }; 
         var obj = new MyObject { 
          myFun = fun, 
          Element1 ="ElE", 
          Element2 = "ELE2" 
         }; 
         return obj; 
        } 
    
    相關問題