You are using an anonymous object, which, as far as I know, does not work, you can use a full model class or a dynamic object.
var model = new MyModel { message = "Hello World" };
And then in the view will be <viewdata model="MyModel">or
dynamic model = new { message = "Hello World" };
<viewdata model="dynamic"> .