c# - .net MVC; HtmlBegin form displaying error -


i using html.beginform upload files; while validating file if there error how display message user not lose layout style?

code in veiw:

<div id="result">     @html.validationsummary(true) </div> @using (html.beginform("submit", "bulkupload",                          formmethod.post, new { id = "uploadform", enctype = "multipart/form-data" })) {      @(html.telerik().upload()             .name("uploadattachment")             .multiple(false)                      )     <input type="submit" id="btnsaveondatabase" value="submit" class="t-button" /> } 

code in controller:

{     ...     var filename = path.getfilename(file.filename);     var extension = path.getextension(file.filename);     if (!xlextensions.any(item => item == extension))     {         modelstate.addmodelerror("", "not .xls file");         break;     }     return partialview("~/views/bulkupload.cshtml",uploaddt);  } 

the validation summary displays refreshes whole page; lose layout specified. suggestions handle welsome..:)

tweaked this... :).. , worked me....

http://www.dustinhorne.com/post/2011/11/16/ajax-file-uploads-with-jquery-and-mvc-3.aspx

public class wrappedjsonresult : jsonresult      {             public override void executeresult(controllercontext context      {          context.httpcontext.response.write("<html><body><textarea id=\"jsonresult\" name=\"jsonresult\">");                      base.executeresult(context);           context.httpcontext.response.write"</textarea></body></html>");            context.httpcontext.response.contenttype = "text/html";             }     }  

controller code:

 if (cond.)  {      return new wrappedjsonresult         {              data = new { isvalid = false,                          message = <error message>,                          imagepath =string.empty                        }      };  }  

in html:

<iframe id="uploadtarget" name="uploadtarget" onload="upload_complete();" style="position: absolute; left: -999em; top: -999em;"></iframe> <div id="images"></div>  

jquery:

function uploadimage_complete()  {           //check see if first load of iframe       if (isfirstload == true){            isfirstload = false;             return;       }    //reset image form file won't uploaded again                        document.getelementbyid("imgform").reset();    //grab content of textarea named jsonresult .      //this shold loaded hidden iframe.      var newimg = $.parsejson($("#uploadtarget").contents().find("#jsonresult")[0].innerhtml);           //if there error, display user        if (newimg.isvalid == false)  {        alert(newimg.message);         return;    }    //create new image , insert images div.     //just fancy, we're going use "fadein" effect jquery     var imgdiv = document.getelementbyid("images");     var img = new image();     img.src = newimg.imagepath;      //hide image before adding dom     $(img).hide();    imgdiv.appendchild(img);    //now fade image in    $(img).fadein(500, null);   }  

Comments

Popular posts from this blog

javascript - DIV "hiding" when changing dropdown value -

Does Firefox offer AppleScript support to get URL of windows? -

android - How to install packaged app on Firefox for mobile? -