Tagged: AjaxOptions Toggle Comment Threads | Tuş takımı kısayolları

  • cmengcompany 13:39 on 22/04/2016 Kalıcı Bağlantı | Cevapla
    Tags: , AjaxOptions, , , HttpMethod, , , UpdateTargetId   

    Asp.Net MVC’de Ajax.BeginForm Kullanımı 


    Asp.Net Mvc’de Html.BeginForm dışında bir de Ajax.BeginForm vardır.Bunu kullanabilmek için  jquery.js ve unobtrusive-ajax.js kütüphanelerini sayfaya eklemek gerekir.unobtrusive-ajax.js i Visual Studio üzerinden Package Manager Console a aşağıdaki kodu yazarak indirebilirsiniz:

    PM>Install-Package Microsoft.jQuery.Unobtrusive.Ajax

    Daha sonra sayfama Ajax.BeginForm ile form ekliyorum:

     

    <script type="text/javascript" src="~/Scripts/jquery-1.10.2.min.js"></script>
    <script type="text/javascript" src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
    
    @using (Ajax.BeginForm("Login", "Home", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divSonuc" }, new { id = "loginForm" }))
    {
        @Html.TextBox("Mail", null, new { @placeholder = "E-Posta Adresiniz" })
        @Html.Password("Password", null, new { @placeholder = "Şifreniz" })
    
        <input id="btnUyeOl" type="submit" value="Üye Ol">
        <div id="divSonuc"></div>
    }
    

    Yukarıda görüldüğü gibi Form etiketi ile Home controllerı altındaki Login actionu çağrılmak istenmiş.Dönen değer divSonuc etiketi altına yazılmak ya da güncellenmek istenmiş.

    Login Actionu da test amaçlı şu şekilde kodlayalım:

    
          [HttpPost]
            public string Login(string Mail, string Password)
            {
                if (String.IsNullOrEmpty(Mail) && String.IsNullOrEmpty(Password))
                {
                    return "E-Posta adresinizi ve şifrenizi girmediniz.";
                }
                else if (String.IsNullOrEmpty(Mail))
                {
                    return "E-posta adresinizi girmediniz.";
                }
                else if (string.IsNullOrEmpty(Password))
                {
                    return "Şifrenizi girmediniz.";
                }
                else
                {
                    return "Sisteme, başarıyla giriş yaptınız.";
                }
            }
    

    Görüldüğü üzere bu actionu sayfayı postback yapmadan Ajax.BeginForm ile çağırabiliyoruz.

     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Cevapla
e
Düzenle
o
Show/Hide comments
t
En üste git
l
Go to login
h
Show/Hide help
shift + esc
Vazgeç