2012-12-11 53 views
0

我創建這個接觸形式,這是相當多的,你可以找到的文件是什麼: http://our.umbraco.org/documentation/Reference/Mvc/forms一把umbraco - 從地面控制器將數據傳遞到瀏覽

的問題是,在我的動作,我加入了一些數據到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> 

它會返回此錯誤:

Compilation Error, Error Message: CS0103: The name 'ViewData' does not exist in the current context

回答

1

的ViewData應設置並使用ViewData["some key"]叫,而不是ViewData("some key")。這是因爲ViewData本質上是一個字典,而不是類ControllerBase上的方法。

請參閱這裏查看a good explanation of its use

+0

非常感謝,而從vb.net來回切換到C#我endup錯過了。 – CodeMaster2008

0

這不起作用,因爲您正在重定向另一個視圖/操作,並且不會訪問此ViewData。

如果你想這樣做,渲染一個局部視圖。

+0

在這種情況下,由於Umbraco核心添加了ViewData中的任何對象,因此它可以工作。 – Digbyswift

相關問題