我正在嘗試ViewData從回傳資料的控制器傳遞一個物件JSON,但無法從前端訪問它。
public ActionResult GLSearchView_Read([DataSourceRequest] DataSourceRequest request, DateTime? d = null, DateTime? d2 = null, int aid = 0)
{
bool creditMemo = true
ViewData["creditMemo"] = creditMemo;
var result = Json(GLResearch.Read(aid, d, d2).ToDataSourceResult(request));
result.MaxJsonLength = int.MaxValue;
return result;
}
然后我應該使用ViewData物件中的布林值在前端有條件地渲染一些東西。但是,我似乎無法訪問該ViewData物件,我在這里做錯了嗎?
uj5u.com熱心網友回復:
在此處設定ViewData元素沒有任何意義,因為此操作不會導致呈現視圖。這個操作只是回傳資料。因此,如果您有其他資料要回傳,請將其回傳。
例如,您可以定義一個匿名物件以序列化為您的 JSON 結果:
public ActionResult GLSearchView_Read([DataSourceRequest] DataSourceRequest request, DateTime? d = null, DateTime? d2 = null, int aid = 0)
{
bool creditMemo = true
var result = Json(new {
Data = GLResearch.Read(aid, d, d2).ToDataSourceResult(request),
Memo = creditMemo
});
result.MaxJsonLength = int.MaxValue;
return result;
}
這將創建一個具有兩個屬性的頂級物件,每個屬性都是您要回傳的兩個不同的資料元素。
當然這個結構只是一個猜測。您可以根據需要構建資料。總體而言,您將:
- 定義要回傳給客戶端的資料結構。
- 用您的資料填充該結構。
- 將該結構序列化為發送回客戶端的 JSON。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/528797.html
標籤:C#网
