Sono nuovo su MVC4. Devo creare una convalida del nome di accesso. Dopo aver scritto una stringa, quando usciamo dalla casella di testo, dovrebbe mostrare se è disponibile o meno.Come effettuare una chiamata Ajax in MVC4
Il Codice di vista è:
@{
ViewBag.Title = "Home Page";
}
@section featured {
<section class="featured">
<div class="content-wrapper">
@Html.TextBox("textbox1")
@Html.TextBox("txtTest")
</div>
</section>
}
@section scripts{
<script type="text/javascript">
$(document).ready(function(){
$('#textbox1').blur(function(){
alert("a");
});
});
</script>
}
Ora al posto di alert("a")
, dovrò chiamare un'azione. Quell'azione conterrà il controllo del database.
Codice Controller:
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
return View();
}
public ActionResult SearchUser()
{
string ExistsCheck;
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["conn"].ToString());
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
DataTable dt = new DataTable();
cmd = new SqlCommand("sp_UserName_Exist_tbl_UserDetails", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@UserName", Request.Form["textbox1"]);
da.SelectCommand = cmd;
da.Fill(dt);
if (dt != null && dt.Rows.Count > 0 && dt.Rows[0][0].ToString().ToLower() == "exists")
{
ExistsCheck = "Exists";
}
else
{
ExistsCheck = "Available";
}
return View();
}
}
Ora la mia domanda è come chiamare questo SearchUser()
azione e visualizzare nella stessa pagina quando usciamo dal textbox1.
Qualsiasi suggerimento, per favore.
L'ajax si attiva per la prima volta durante il caricamento della vista. La prossima volta che l'ajax non sta sparando. –
Non vedo * alcun * codice AJAX nel tuo esempio. –
Il mio codice JavaScript dovrebbe sostituire solo 'alert (" a ");' dovresti conservare tutto il resto. – Gabriel