با سلام.
در view کد زیر رو نوشتم:
@using (Html.BeginForm("GoToView", "Admin", FormMethod.Get, new { @class = "form-horizontal", role = "form" })) { @Html.AntiForgeryToken() @*<input type="hidden" name="Item" value="CreateKelass" />*@ <button type="submit" class="btn btn-success">ایجاد کلاس </button> }
در action هم کد زیر رو نوشتم:
[NonAction] //[HttpPost] [ValidateAntiForgeryToken] public ActionResult GoToView(string Item) { if (Item == "CreateClassDars") { var selectTeacherName = (from t in talash.Tbl_User join tp in talash.Tbl_TeacherPayeh on t.UserID equals tp.TeacherID_UserID_ where tp.Active == true select new { UserID = t.UserID, teacherName = t.name + " " + t.Family }).Distinct().ToList(); var SelectActiveSal = from f in talash.Tbl_Sal where f.Active == true select new { f.SalID, f.SaleName }; TempData["Sal"] = SelectActiveSal.FirstOrDefault().SaleName + "," + SelectActiveSal.FirstOrDefault().SalID; TempData["Teacher"] = new SelectList(selectTeacherName, "UserID", "teacherName", 1); TempData["Time"] = new SelectList(talash.Tbl_Time, "TimeID", "Title", 1); TempData["Makan"] = new SelectList(talash.Tbl_Makan, "MakanID", "Title", 1); TempData["Rooz"] = new SelectList(talash.Tbl_Rooz, "RoozID", "RoozName", 1); TempData["Paye"] = new SelectList(talash.Tbl_Payeha, "PayehID", "PayehName", 1); TempData["darsha"] = new SelectList(talash.Tbl_Doros, "DarsID", "DarsName", 1); } if (Item == "CreateClassFoghBarname") { var selectTeacherName = (from t in talash.Tbl_User join tp in talash.Tbl_TeacherPayeh on t.UserID equals tp.TeacherID_UserID_ where tp.Active == true select new { UserID = t.UserID, teacherName = t.name + " " + t.Family }).Distinct().ToList(); var SelectActiveSal = from f in talash.Tbl_Sal where f.Active == true select new { f.SalID, f.SaleName }; TempData["Sal"] = SelectActiveSal.FirstOrDefault().SaleName + "," + SelectActiveSal.FirstOrDefault().SalID; TempData["Teacher"] = new SelectList(selectTeacherName, "UserID", "teacherName", 1); TempData["Time"] = new SelectList(talash.Tbl_Time, "TimeID", "Title", 1); TempData["Makan"] = new SelectList(talash.Tbl_Makan, "MakanID", "Title", 1); TempData["Rooz"] = new SelectList(talash.Tbl_Rooz, "RoozID", "RoozName", 1); TempData["Paye"] = new SelectList(talash.Tbl_Payeha, "PayehID", "PayehName", 1); TempData["darsha"] = new SelectList(talash.Tbl_DefinitionFoghBarname, "FoghbarnmeID", "FoghbarnmeName", 1); } if (Item == "CreateBranch") { TempData["Paye"] = new SelectList(talash.Tbl_Payeha, "PayehID", "PayehName", 1); TempData["Sal"] = new SelectList(talash.Tbl_Sal, "SalID", "SaleName", 1); } if (Item == "CreateQuestion") { TempData["TypeSoal"] = new SelectList(talash.Tbl_SoalType, "SoalTypeID", "SoalTypeName", 1); TempData["Dars"] = new SelectList(talash.Tbl_Doros, "DarsID", "DarsName", 1); TempData["Paye"] = new SelectList(talash.Tbl_Payeha, "PayehID", "PayehName", 1); } if (Item == "CreateSaleTahsily") { PersianCalendar pc = new PersianCalendar(); int currentyear = pc.GetYear(DateTime.Now); int NextYear = currentyear + 1; TempData["year"] = currentyear.ToString() + "," + NextYear.ToString(); } TempData["Menu"] = Item; return RedirectToAction("Kelasha"); }
وقتی روی دکمه کلیک می کنم تا به action بره پیغام زیر میاد:
لطفا راهنمایی نمایید
با تشکر
صفت NonAction برای چیست ؟
یه جایی می گفت که این صفت برای جلوگیری از دستزسی مستقیم به Action توسط نوشتن نام آن در Addressar است
اونو که پاک می کنم بازم همین پیغام میاد
کد کامل کنترلر را قرار دهید
از این کد نمیشه مشکل را پیدا کرد
استاد formmethod برابر get بود که آنرا به post تغییر دادم و صفت NoAction را پاک کردم و درست شد
با تشکر
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)