asp.net - Can I pass both the ViewBag AND a Model to a View -


can use hybrid approach passes information in viewbag (c#) / viewdata (vb) includes model

for example, started passing simple title through error controller error view:

function notfound() actionresult     response.statuscode = 404     viewdata.add("title", "404 error")     return view("error") end function 

this worked fine , view had access property @viewdata("title")

then wanted include of exception information automatically routed custom errors in handleerrorinfo object this:

function notfound(exception handleerrorinfo) actionresult     response.statuscode = 404     viewdata.add("title", "404 error")     viewdata.add("message", "sorry, requested page not found.")     return view("error", exception) end function 

then, on view, declared model this:

@modeltype system.web.mvc.handleerrorinfo 

now can access properties @model.exception.message @viewdata("title") has disappeared.

the webviewpage(of tmodel) still has viewdata property, looks can't pass controller unless it's explicitly in model.

of course, workaround, create base class can type storage each object, seems little heavy handed when want pass in through viewbag title.

is there way use both viewbag , model @ same time?

what happening in case when customerrors tried route notfound action on error controller, supply default constructor. not finding one, bypassed controller altogether , went directly error page had model wanted pass ready.

as small proof of concept, passing both parameters possible evidenced example

testmodel.vb:

public class testmodel     public property modelinfo string end class 

testcontroller.vb:

public class testcontroller :  inherits system.web.mvc.controller      function index() actionresult         dim model new testmodel {.modelinfo = "hello"}         viewdata("viewdatainfo") = "world"         return view("index", model)     end function  end class 

test\index.vbhtml:

@modeltype testmodel  @model.modelinfo @viewdata("viewdatainfo") 

Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -