Guest User

Untitled

a guest
Aug 10th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.99 KB | None | 0 0
  1. asp.net mv3 form post data not making it's way to the controller action [closed]
  2. [HttpGet]
  3. public ActionResult LogOn()
  4. {
  5. LogOnModel model = new LogOnModel() { UserName = "", Password = "" };
  6. return View(model);
  7. //return View();
  8. }
  9.  
  10. [HttpPost]
  11. public ActionResult LogIn(LogOnModel model, FormCollection fcol/*, string returnUrl*/)
  12. {
  13. //Request.Form.Count
  14. StringBuilder sb = new StringBuilder();
  15. sb.Append("<br/>Form collection: ");
  16. if (Request.Form.Count > 0)
  17. {
  18.  
  19. NameValueCollection form = Request.Form;
  20. sb.Append("<Form collection>");
  21. for (int i = 0; i < fcol.Count; i++)
  22. sb.AppendFormat("{0}:{1},", fcol.AllKeys[i].ToString(), fcol[i].ToString());
  23. sb.Append("</Form collection>");
  24. }
  25. sb.Append("<br/>Form : ");
  26. if (Request.Form.Count > 0)
  27. {
  28. NameValueCollection form = Request.Form;
  29. sb.Append("<form>");
  30. for (int i = 0; i < form.Count; i++)
  31. sb.AppendFormat("{0}:{1},", form.AllKeys[i].ToString(), form[i].ToString());
  32. sb.Append("</form>");
  33. }
  34. sb.Append("<br/>QueryString : ");
  35. if (Request.Form.Count > 0)
  36. {
  37. NameValueCollection form = Request.QueryString;
  38. sb.Append("<QueryString>");
  39. for (int i = 0; i < form.Count; i++)
  40. sb.AppendFormat("{0}:{1},", form.AllKeys[i].ToString(), form[i].ToString());
  41. sb.Append("</QueryString>");
  42. }
  43. if (model != null)
  44. {
  45. sb.Append("<br/>Profile(ProfileModel m) : ");
  46. sb.AppendFormat("m.username = {0}, m.password = {1}", model.UserName, model.Password);
  47. }
  48. if (!ModelState.IsValid)
  49. {
  50. sb.Append("<br/>Model errors :");
  51. var errors = from key in ModelState
  52. let errorList = ModelState[key.Key].Errors
  53. where errorList.Any()
  54. select new
  55. {
  56. Item = key.Key,
  57. Value = key.Value,
  58. errorList
  59. };
  60.  
  61. foreach (var errorList in errors)
  62. {
  63. sb.AppendFormat(@"<br/>MODEL ERROR: [{0}] value:'{1}' ", errorList.Item, errorList.Value);
  64. foreach (var error in errorList.errorList)
  65. {
  66. sb.AppendFormat(" ERROR message: [{0}] exception : '{1}'", error.ErrorMessage, error.Exception);
  67. }
  68. }
  69. }
  70. Response.Write(sb);
  71. //return new ContentResult();
  72. if (model != null)
  73. Log(new Exception(string.Format("model username : {0}, password : {1}, request[username] {2} , request[password] : {3}", model.UserName, model.Password, Request["UserName"], Request["Password"])));
  74. try
  75. {
  76. if (ModelState.IsValid)
  77. {
  78. Log(new Exception(string.Format("ModelState {0}", ModelState.IsValid)));
  79. Log(new Exception(string.Format("credentials {0},{1}", model.UserName, model.Password)));
  80. if (MembershipService.ValidateUser(model.UserName, model.Password))
  81. {
  82. Log(new Exception(string.Format("MembershipService.ValidateUser {0},{1}", model.UserName, model.Password)));
  83.  
  84. FormsService.SignIn(model.UserName, false/* model.RememberMe*/);
  85. Log(new Exception(string.Format("FormsService.SignIn {0},{1}", model.UserName, model.Password)));
  86.  
  87. //if (Url.IsLocalUrl(returnUrl))
  88. // return Redirect(returnUrl);
  89. //else
  90. return RedirectToAction("Index", "Home");
  91. }
  92. else
  93. ModelState.AddModelError("", "The user name or password provided is incorrect.");
  94. }
  95. }
  96. catch (Exception ex)
  97. {
  98. Elmah.SqlErrorLog.GetDefault(System.Web.HttpContext.Current).Log(new Elmah.Error(ex, System.Web.HttpContext.Current));
  99. }
  100. // If we got this far, something failed, redisplay form
  101. return View("LogOn", model);
  102. }
  103.  
  104. @Html.ValidationSummary(false, @LocalDealsResources.Strings.LogOnUnsuccessful)
  105. @using (Html.BeginForm("LogIn", "Account"))
  106. {
  107. <div>
  108. <fieldset>
  109. <legend>Account Information</legend>
  110. <div class="editor-label">
  111. @Html.LabelFor(m => m.UserName)
  112. </div>
  113. <div class="editor-field">
  114. @Html.TextBoxFor(m => m.UserName, new { style = " width:200px" })
  115. @Html.ValidationMessageFor(m => m.UserName)
  116. </div>
  117. <div class="editor-label">
  118. @Html.LabelFor(m => m.Password)
  119. </div>
  120. <div class="editor-field">
  121. @Html.PasswordFor(m => m.Password, new { style = " width:200px" })
  122. @Html.ValidationMessageFor(m => m.Password)
  123. </div>
  124. <p>
  125. <input type="submit" value="@LocalDealsResources.Strings.LogOn" />
  126. </p>
  127. </fieldset>
  128. </div>
  129. }
  130.  
  131. [HttpGet]
  132. public ActionResult Index()
  133. {
  134. return View();
  135. }
  136.  
  137. [HttpPost]
  138. public ActionResult Index(ViewModels.SubscriptionModel model)
  139. {
  140. if(!ModelState.IsValid)
  141. {
  142. return View(model);
  143. }
  144. else
  145. {
  146. // Code here to save to the database or something else
  147. return View("saved"); //Return a view that is designed to show a message
  148. }
  149. }
  150.  
  151. <%: Html.ValidationSummary(false) %>
  152.  
  153. @Html.ValidationSummary(false)
Add Comment
Please, Sign In to add comment