ASP.NET Core
.NET Framework 中一套用于生成 Web 应用程序和 XML Web 服务的技术。
32 个问题
可以在controller中使用ViewData从view中获取数据吗? 例如: View :
@{
Layout = "_Layout";
ViewData["pid"] = "1";
}
在view 页面中提交表单后,如何在controller 中获取ViewData的值,就像这样:
public IActionResult do() {
string pid=ViewData["pid"];//get "1"?
}
Note:此问题总结整理于:Can I get some data in controllers from view use viewdata?
你好, ViewData/ViewBag 主要用于将值从控制器传递到视图,仅适用于当前请求,将在重定向时被销毁。 TempData 可用于将值从控制器传递到视图,也可用于从控制器传递到控制器, 并且可用于当前和后续请求。它不会在重定向时被销毁。 所以可以将你的代码改为这样:
View:
@{
Layout = "_Layout";
TempData["pid"] = "1";
}
Controller:
public async Task<IActionResult> Do()
{
string pid = TempData["pid"] as string;//get "1"
//...
}
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。