Pro*_*ofK 9 c# json asp.net-core-mvc asp.net-core asp.net-core-viewcomponent
我正在尝试将控制器逻辑移动到视图组件类中,但控制器仅返回JSON,用于客户端窗口小部件,它是我的视图组件的UI.这是核心控制器代码,问题是:
public IActionResult TreeData(string dir = "")
{
var browsingRoot = Path.Combine(_config.BaseDir, dir);
var nodes = new List<TreeNode>();
nodes.AddRange(RecurseDirectory(browsingRoot));
return Json(nodes);
}
Run Code Online (Sandbox Code Playgroud)
这在控制器中很好,但ViewComponent派生类不喜欢Jsonreturn方法.我看到的所有例子都使用return View(*<something>*).
视图组件不应该返回整个响应,所以我想它应该有一个Content返回方法来至少返回纯HTML.
看起来可以通过返回内容而不是视图来完成:
public IActionResult TreeData(string dir = "")
{
var browsingRoot = Path.Combine(_config.BaseDir, dir);
var nodes = new List<TreeNode>();
nodes.AddRange(RecurseDirectory(browsingRoot));
return new ContentViewComponentResult(JsonConvert.SerializeObject(nodes));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1419 次 |
| 最近记录: |