我正在创建此联系表单,这是您在文档中可以找到的内容: http://our.umbraco.org/documentation/Reference/Mvc/forms
问题是,在我的操作中,我将一些数据添加到ViewData集合中,但我无法进入视图。
以下是行动:
public ActionResult ProcessForm(ContactFormModel model)
{
if (!ModelState.IsValid) {
// do something here
return CurrentUmbracoPage();
}
// process form
// set success flag
ViewData("SuccessMessage") = "We will be contacting you soon..";
return RedirectToCurrentUmbracoPage();
}
以下是观点:
<h1>@ViewData("SuccessMessage")</h1>
它将返回此错误:
编译错误,错误消息:CS0103:当前上下文中不存在名称“ViewData”
答案 0 :(得分:1)
应使用ViewData["some key"]
设置和调用ViewData,而不是ViewData("some key")
。这是因为ViewData本质上是一个字典,而不是ControllerBase
类的方法。
请参阅此处查看a good explanation of its use。
答案 1 :(得分:0)
由于您正在重定向另一个视图/操作,并且无法访问此ViewData,因此无效。
如果您想这样做,请渲染局部视图。