c# - System.Web.MVC.ModelState does not have a definition for IsValid -


in mvc 5 application, have try-catch block in deleteconfirmed actionresult works well. don't repeat code, tried place indicated part of following code block function outside controller. added function customerrorlog class, when did, intellisense indicated "system.web.mvc.modelstate not have definition isvalid."

this link indicates error comes trying use modelstate class instead of property. however, article did not indicate should done instead.

below code have followed do. question need differently can save errorlog entry database table?

this code have in controller

catch (exception e) {     var _e = new errorlog().fillandsend(e, "delete", "childactionnames");      // following identical each time use catch(exception e) block      unitofworkerrorlog uw = new unitofworkerrorlog();     if (modelstate.isvalid)     {         uw.errorlogrepository.insert(_e);         uw.save();         return view("errormanaged");     } } 

this do: catch block in controller

catch (exception e) {     var _e = new errorlog().fillandsend(e, "delete", "childactionnames");     _e.savealert(_e);  // pass errorlog instance savealert function } 

function in errorlog class

public void savealert(errorlog _e) {     // errorlog filled when called controller     unitofworkerrorlog uw = new unitofworkerrorlog();     if (modelstate.isvalid)     {         uw.errorlogrepository.insert(_e);         uw.save();             } } 

modelstate property of controller base class controllers inherit from. can use in there not outside of controller. can either pass model state around parameter, or makes more sense in case keep logic in controller:

if(modelstate.isvalid)     _e.savealert(_e);  // pass errorlog instance savealert function 

as additional point note, makes no sense pass _e savealert method. instead can reference using this inside method.


Comments

Popular posts from this blog

javascript - Karma not able to start PhantomJS on Windows - Error: spawn UNKNOWN -

c# - Display ASPX Popup control in RowDeleteing Event (ASPX Gridview) -

Nuget pack csproj using nuspec -