asp.net - How to handle a POST request to a URL that contains route parameters? -
i'm working on asp.net mvc4 web app, , have controller method handling get request id in url, ...
[portalauthorization] public actionresult view(int id) { // individual ftp log portalftplog log = portalftplogs.get(id); if (log == null) { tempdata["error"] = "the provided ftp log id not exist."; return redirecttoaction("index"); } // available matters tie uploads viewbag.matters = portalmatters.get(); return view(log); } in view controller method, have form can update it, want post same url. url foo.com\items\1. thats function above handles.
how make function handles post request function requires parameter, though? in previous post handlers create formscollection param, when add param list function, id param null.
[httppost] [portalauthorization] public actionresult view(formcollection collection, int id) { portalftplog log = portalftplogs.get(id); if (log == null) { tempdata["error"] = "the provided ftp log id not exist."; return redirecttoaction("index"); } // update matter id , save database log.matter = convert.toint32(collection.get("matter")); log.save(); tempdata["notice"] = "the ftp log meta data has been updated."; return redirecttoaction("view", new { id = id }); } thank you!
you need provide routevalues in html.beginform on view:
@using (html.beginform(new {id = someintidvalue})) { // form code }
Comments
Post a Comment