2017-08-08 23 views
-3

我想從C#發送序列化對象到JS。 的代碼是:如何發送和使用JS後面的代碼序列化的對象?

var RegisteredUsers = new List<Person>(); 
     RegisteredUsers.Add(new Person() { PersonID = 1, Name = "Bryon Hetrick", Registered = true }); 
     RegisteredUsers.Add(new Person() { PersonID = 2, Name = "Nicole Wilcox", Registered = true }); 
     RegisteredUsers.Add(new Person() { PersonID = 3, Name = "Adrian Martinson", Registered = false }); 
     RegisteredUsers.Add(new Person() { PersonID = 4, Name = "Nora Osborn", Registered = false }); 

     var serializer = new JavaScriptSerializer(); 
     var serializedResult = serializer.Serialize(RegisteredUsers); 
現在

1)如何能我把它發給客戶端?

2)如何訪問到每一個元素(即我要帶誰擁有ID

感謝

+0

這不是足夠的信息來回答。你在使用框架嗎?您是否嘗試過形成包含序列化數據的響應? – user1777136

+0

您是使用ASP.NET還是僅僅運行控制檯應用程序? MVC或WebAPI如何? – styfle

+0

@styfle是的我正在使用ASP.NET。 我在客戶端做了「http.get」來獲取數據。在服務器端,我準備好了像上面提到的所有數據。現在我該怎麼辦? –

回答

0

假設你正在使用MVC C#剃刀名稱:把serializedResult在ViewBag然後。使用@Html.Raw在JavaScript注入它我還沒有測試,所以讓我知道,如果它不能正常工作

C#:

var serializedResult = serializer.Serialize(RegisteredUsers); 
ViewBag.RegisteredUsers = serializedResult; 

JS:

var myUsers = @Html.Raw(Json.Encode(ViewBag.RegisteredUsers)); 

編輯:你實際使用的WebForms似乎。他們沒有ViewBag,所以你將不得不在你的課堂上設置一個屬性。

C#:

protected string Users { get; set; } 

C#(在Page_Load中或你正在創建你的列表):

var serializedResult = serializer.Serialize(RegisteredUsers); 
this.Users = serializedResult; 

JS(WebForms的語法)

var myUsers = <%= Users %> 
+0

什麼是剃刀?我應該導入什麼(即使用)我在WEB世界中很新,如何使用「myUser」變量訪問特定數據? –

+0

Razor允許您在HTML中執行C#事物。如果你有使用Razor的.cshtml文件。 – chakeda

+0

我編輯了我的評論,你能回答嗎? –

相關問題