c# - Display image dynamically with ViewBag -


i want display , change image dynamically in same view. have tried use code: use mvc 3 viewbag dynamically change image

and this: pass image controller , display in view using viewbag in asp.net mvc 3

but didn't work.

here index.cshtml:

@using (html.beginform("showfile", "home", formmethod.post, new { enctype = "multipart/form-data" })) {      @html.textbox("imageid")     <input type="submit" value="ok" class="submit" /> }  <img src="@viewbag.foto" alt="images" /> 

my homecontroller.cs:

public actionresult index() {     return view(); }  public actionresult showfile(string imageid) {     var dir = server.mappath("/images/profile");     var path = path.combine(dir, imageid + ".jpg");     if (system.io.file.exists(path))     {         viewbag.foto = path.tostring();     }     return redirecttoaction("index", "home"); } 

i believe there 2 issues code sample have provided.

the first issue providing full path image tag. setting viewbag.foto property contents of server.mappath() combined image resulting img tag similar to:

<img src="c:\your-local-path-here\images\profiles\image.jpg" alt="images"/> 

but want similar to:

<img src="/images/profile/image.jpg" alt="images"/> 

the second issue setting viewbag property image path , performing redirect. when return redirect browser content of viewbag not maintained next request index() action.

the controller code therefore changed to:

public viewresult index() {     return view(); }  [httppost] public viewresult showfile(string imageid) {     var virtualpath = string.format("~/images/profile/{0}.jpg", imageid);      if (system.io.file.exists(server.mappath(virtualpath)))     {         viewbag.foto = virtualpathutility.toabsolute(virtualpath);     }     return view("index"); } 

additionally, not need specify new { enctype = "multipart/form-data" } in form (see what enctype='multipart/form-data' mean?).


Comments

Popular posts from this blog

c++ - OpenMP unpredictable overhead -

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

javascript - Wordpress slider, not displayed 100% width -