views:

2486

answers:

2

I am getting the object reference error in just start of the method.

For Ex.:

259: public ActionResult ShowAddress(FormCollection formCollection)
260: {

In the above sample i am getting the error Line number 260.

Please anyone can suggest me the problem with this.

+1  A: 

Finally, Enough information to attempt to post an answer...

I suppose formCollection must be null.

PS: You'd benifit from reading this: http://catb.org/esr/faqs/smart-questions.html#intro Think of it as a life investment in life assurance.

corlettk
+2  A: 

Here is the code from the question comments

259: public ActionResult ShowAddress(FormCollection formCollection) { 
260:   long _userId= long.Parse(formCollection["UserId"].ToString()); 
261:   UserDetails _userDetails = _userDAL.GetUserDetails(_userId); 
262:   if(!string.IsNullOrEmpty(_userDetails.Address1)) return  RedirectToAction("GetAddress", "User"); else return View(); }

If you're seeing a NullReferenceException at line 260, either formCollection or the result of formCollection["UserId"] is null. You need to account for this in your code. For instance you could do the following.

public ActionResult ShowAddress(FormCollection formCollection) {
  if ( null == formCollection ) { 
    return View();
  }
  object obj = formCollection["UserId"];
  if ( null == obj ) {  
    return View();
  }
  long _userId = long.Parse(obj.ToString());
  ...
}
JaredPar
Consider,259: public ActionResult ShowAddress(FormCollection formCollection) 260: { 261: long _userId= long.Parse(formCollection["UserId"].ToString());i am getting the error in Line 260, not while accessing the formcollection.
Prasad
@Prasad, why do you think it's line 260? Are you getting the line number from the exception information? If so it's possible that the exception and editor have different line numbers because one starts at 0 and the other 1. Also, have you attached a debugger to see what is actually null here?
JaredPar
please see the below stack trace. copying partial as i am not allowed to enter more than 600 chars.Stack Trace : at MVCApp.Controllers.UserController.ShowAddress(FormCollection formCollection) in C:\My Projects\MVCApp\Controllers\UserController.cs:line 260 at lambda_method(ExecutionScope , ControllerBase , Object[] ) at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
Prasad