Advertisement
Guest User

Untitled

a guest
Apr 17th, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. public class ExampleController : Sitecore.Mvc.Controllers.SitecoreController
  2. {
  3. public override ActionResult Index()
  4. {
  5. return View("Index");
  6. }
  7.  
  8. [HttpPost]
  9. public ActionResult Index(string formPostData)
  10. {
  11. ViewBag.SaveForLater = formPostData;
  12. return Index();
  13. }
  14. }
  15.  
  16. @using Sitecore.Mvc
  17. @using (Html.BeginRouteForm(Sitecore.Mvc.Configuration.MvcSettings.SitecoreRouteName, FormMethod.Post))
  18. {
  19. @Html.AntiForgeryToken()
  20. var term = ViewBag.SaveForLater as string;
  21. if (!string.IsNullOrEmpty(term))
  22. {
  23. <p>Submitted: @term</p>
  24. }
  25. <p>
  26. @Html.Sitecore().FormHandler("Example", "Index")
  27. <input type="text" name="formPostData" placeholder="Enter something" />
  28. <input type="submit" name="submit" value="Search" />
  29. </p>
  30. }
  31.  
  32. @model Website.Models.TestViewModel
  33.  
  34. @using (Html.BeginForm())
  35. {
  36. @Html.LabelFor(model => model.Text)
  37. @Html.TextBoxFor(model => model.Text)
  38.  
  39. <input type="submit" value="submit" />
  40.  
  41. <input type="hidden" name="fhController" value="TestController" />
  42. <input type="hidden" name="fhAction" value="Index" />
  43. }
  44.  
  45. namespace Website.Models
  46. {
  47. public class TestViewModel
  48. {
  49. public string Text { get; set; }
  50. }
  51. }
  52.  
  53. public class ValidateFormHandler : ActionMethodSelectorAttribute
  54. {
  55. public override bool IsValidForRequest(ControllerContext controllerContext, MethodInfo methodInfo)
  56. {
  57. var controller = controllerContext.HttpContext.Request.Form["fhController"];
  58. var action = controllerContext.HttpContext.Request.Form["fhAction"];
  59.  
  60. return !string.IsNullOrWhiteSpace(controller)
  61. && !string.IsNullOrWhiteSpace(action)
  62. && controller == controllerContext.Controller.GetType().Name
  63. && methodInfo.Name == action;
  64. }
  65. }
  66.  
  67. namespace Website.Controllers
  68. {
  69. public class TestController : Controller
  70. {
  71. public ActionResult Index()
  72. {
  73. return View();
  74. }
  75.  
  76. [HttpPost]
  77. [ValidateFormHandler]
  78. public ActionResult Index(TestViewModel model)
  79. {
  80. return View(model);
  81. }
  82. }
  83. }
  84.  
  85. public class MainViewModel
  86. {
  87. public LoginViewModel LoginModel { get; set; }
  88.  
  89. public RegisterViewModel RegisterModel { get; set; }
  90. }
  91.  
  92. public class RegisterViewModel
  93. {
  94. // Your model properties
  95. }
  96.  
  97. public class LoginViewModel
  98. {
  99. // Your model properties
  100. }
  101.  
  102. public ActionResult MainView()
  103. {
  104.  
  105. MainViewModel model = new MainViewModel
  106. {
  107. LoginModel = new LoginViewModel(),
  108. RegisterModel = new RegisterViewModel()
  109. };
  110.  
  111. return View(model);
  112. }
  113.  
  114. @Html.Partial("_Login", Model.LoginModel)
  115. @Html.Partial("_Register", Model.RegisterModel)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement