رسالة التحقق من الصحة لا تظهر بعد إعادة توجيه (باستخدام سمة modelstatetoTempdata)

StackOverflow https://stackoverflow.com/questions/1127922

  •  13-09-2019
  •  | 
  •  

سؤال

لدي مشكلة في التحقق من صحة الرسائل التي لا تظهر بعد إعادة توجيه، حتى عندما IM باستخدام MVCConrib modelstatetotempdata.. وبعد هل أنا أطل شيئا أساسيا؟

[ModelStateToTempData]
public class AccountController : BaseController
{
    public ActionResult LogOn(string email, string password, string returnUrl)
    {
        if (!ValidateLogOn(email, password))
        {
            return RedirectToAction("Index", "AnotherController");
        }

        //other stuff
    }

private bool ValidateLogOn(string email, string password)
{
    if (!_userTask.ValidateUser(email, password))
    {
        ModelState.AddModelError("message", "The email or password provided is incorrect.");
    }

    return ModelState.IsValid;
}
}

رأي:

   <li>
        <label for="email">E-mail</label>
        <%= Html.TextBox("email")%>
        <%= Html.ValidationMessage("message") %>
    </li>  
هل كانت مفيدة؟

المحلول

هل تزين كل من وحدات تحكم مع [modelstatetotempdata]؟

جوامع

نصائح أخرى

هل أنت بالتااكيد عرض رسالة التحقق من الصحة في العرض؟

لا يجب إعادة توجيه أي وحدة تحكم أخرى إذا كان لديك أي خطأ في النداوات. لا يوجد أي غوت للانتقال إلى وحدة تحكم أخرى إذا كان هناك خطأ في النداوات - من الأفضل إعادة توجيه النجاح، ولكن لا تفشل.

فقط تحقق مما إذا كان ModelState Contatins أي أخطاء وإرجاع الرأي الذي قمت بتجريته طلبا منه.

 if (!ValidateLogOn(email, password))
 {
     return View("Index");
 }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top