Umbraco-将数据从曲面控制器传递到视图

Umbraco-将数据从曲面控制器传递到视图,umbraco,Umbraco,我正在创建此联系人表单,您可以在文档中找到它: 问题是,在我的操作中,我向ViewData集合添加了一些数据,但无法进入视图 行动如下: public ActionResult ProcessForm(ContactFormModel model) { if (!ModelState.IsValid) { // do something here return CurrentUmbracoPage(); } // process

我正在创建此联系人表单,您可以在文档中找到它:

问题是,在我的操作中,我向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>
@ViewData(“成功消息”)
它将返回以下错误:

编译错误,错误消息:CS0103:当前上下文中不存在名称“ViewData”


应使用
ViewData[“某些键”]
设置和调用ViewData,而不是
ViewData(“某些键”)
。这是因为ViewData本质上是一个字典,而不是
ControllerBase
类上的一个方法


请参阅此处以了解。

这将不起作用,因为您正在重定向另一个视图/操作,而该视图/操作将无法访问此ViewData


如果要执行此操作,请渲染局部视图。

非常感谢,在从vb.net来回切换到c#的过程中,我最终忽略了这一点。在这种情况下,它确实有效,因为Umbraco core会重新添加ViewData中保留的任何对象。