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

时间:2012-12-11 22:19:16

标签: umbraco

我正在创建此联系表单,这是您在文档中可以找到的内容: 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”

2 个答案:

答案 0 :(得分:1)

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

请参阅此处查看a good explanation of its use

答案 1 :(得分:0)

由于您正在重定向另一个视图/操作,并且无法访问此ViewData,因此无效。

如果您想这样做,请渲染局部视图。