Tagi na forum.

C# 1456 XML 282
SQL 1192 sieci 268
ASP.NET 785 IIS 262
Windows 726 C++ 255
web 608 Html 218
Visual Studio 515 Information Technology 193
SQL Server 425 MSDN 167

pokaż wszystkie tagi na forum

MessageBox w MVC3

snajp3er 2011-12-21 13:45:02
0
avatar
 
 

Witam,

Tworze projekt w MVC3 Razor. Mam sobie pewien widok, kontroler do niego i ValidationController który odpowiada za walidację pól z mojego widoku (jest to osobny kontroler bez widoku). Korzystam z walidacji Remote w modelu. Chodzi mi o to, by wynik walidacji dla jednego z pól był wyświetlany w postaci MessageBox-a zaraz po walidacji, bez klikania w cokolwiek. Do okienka nie trzeba nic przekazywać. Ma wyświetlić określony tekst. Korzystam z standardowego modal message z jQuery. Nie wiem tylko co zrobić by pojawił się ona zaraz po walidacji (wywołanie z code behind).

Z góry dzięki za pomoc :)


tagi: jQuery   mvc
Liczba postów:

Indesign  2011-12-23 04:08:58 #1
0
avatar
 
 

Hej,

Może trochę przekombinowany sposób, ale mam nadzieję, że się przyda.

<script type="text/javascript">

    $('input').keyup(function () {

         jQuery(".input-validation-error").each(function () {

            alert(jQuery(this).next().text()); //bo następny element to span który zawiera komunikat błędu, można to wyciągnąć oczywiście lepiej:) np. ".field-validation-error"

             alert(jQuery(this).attr("data-val-required")); //standardowy komunikat błędu dla pola które nie przeszło walidacji

       });   

});

</script>


LET'S DO AMAZING. :)

snajp3er  2011-12-27 13:44:07 #2
0
avatar
 
 

No nie do końca o takie co mi chodziło. Mam taką funkcję testującą 

public ActionResult PurchaseYearsValidation(string purchaseYears) 
{ 
if ((DateTime.Now.Year - purchaseYears) > 21) 
{
// show dialog 
} 
return Json(true, JsonRequestBehavior.AllowGet);
}

 

I w tym if-ie chce wywołać wyświetlenie message box-a.


Edytowano 1 raz. Ostatnio 2011-12-27 13:44:33 przez snajp3er.
kbarkowski  2011-12-28 19:49:46 #3
0
avatar
 
 

Niestety, to co piszesz nie za bardzo "trzyma się kupy". Mylisz to co dzieje się po stronie klienta (JavaScript i jQuery) z tym co dzieje się na serwerze (C#). Musisz zastosować rozwiązanie podobne to tego jakie zaproponował Ci Indesign dwa posty wyżej.

Pamiętaj, że jeśli masz jakiś kod C# to jest to kod serwera a to oznacza, że może się on wywołać tylko gdy użytkownik przełądowuje stronę lub wykonasz zapytanie Ajax'em.


Edytowano 1 raz. Ostatnio 2011-12-28 19:50:10 przez kbarkowski.

Udziel odpowiedzi

avatar
Treść wpisu:

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Idź na górę strony