At many places I see controller action with Nullable Int
as parameter. I have known from SO research that I should put Model Propetry as Nullable and Required
. It helps to protect from Underposting
attack and also, it helps us to avoid seeing "Default values" of property in UI Form, such as for datetime property.
[Required]
public DateTime? dateTime {get;set;}
With above set up I will now not see the defaulted date. So far so good. But what is the significance of using "?" in ControllerAction? And when shall I use it.
Currently, I have a Delete functionality and I have written below code
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Delete(int? resumeId)
{
var r = _context
.Resumes
.Where(c => c.ResumeId == resumeId).SingleOrDefault();
_context.Resumes.Remove(r);
_context.SaveChanges();
return RedirectToAction("ResumeCenter");
}
Can someone guide me on when do I need to use "?" and it's significance? I read this Nullable Int link, but I could not understand. Kindly give me an example for both usage.