Menampilkan pesan kesalahan pada tampilan dari controller asp.net mvc 5
Saya baru dalam pengembangan web dan mencoba untuk belajar ASP.Net MVC 5. Saya mencari satu record di database jika record tersebut tidak ditemukan maka saya ingin menampilkan pesan error kepada user. Di bawah ini adalah usaha saya:
Controller
[HttpGet]
public ActionResult Search()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Search(ForgotPasswordMV viewModel)
{
if (Temp.Check(viewModel.Email))
return RedirectToAction("VerifyToken", new { query = viewModel.Email });
else
{
ViewBag.ErrorMessage = "Email not found or matched";
return View();
}
}
Lihat:
<p>@ViewBag.ErrorMessage</p>
ViewModel
public class ForgotPasswordMV
{
[Display(Name = "Enter your email"), Required]
public string Email { get; set; }
}
Tetapi saya membaca di suatu tempat bahwa saya harus meletakkan satu properti di model tampilan saya dan mengatur pesan kesalahan pada properti itu. Saya bingung sekarang, bagaimana cara mencapainya dan bagaimana cara menampilkan error di View? Dan yang mana yang direkomendasikan/praktek terbaik?
24
3
Praktik terbaik adalah dengan mengubah properti kamus
ModelState
dari controller Anda seperti ini:Kemudian dalam tampilan Anda tambahkan baris di bawah ini di samping bidang email Anda;
Itu benar. Anda bisa menambahkan pesan kesalahan ke model tampilan Anda:
dan kemudian mengatur properti ini pada model tampilan Anda dan meneruskan model tampilan ke tampilan:
dan akhirnya dalam tampilan yang diketik dengan kuat Anda menggunakan properti pada model Anda:
Jadi pada dasarnya di sini kita mengganti penggunaan
ViewBag
dengan model tampilan yang diketik dengan kuat.Bagi saya, menerima anwser bukanlah praktik terbaik. Kita dapat menangani semua kesalahan dalam anotasi.
Dalam ViewModel kita, kita menentukan
ErrorMessage
untuk properites kita.Dalam pengendali kita
Dan tampilan kita