Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ASP.NET MVC2 i JQuery form post

[es] :: .NET :: ASP.NET :: ASP.NET MVC2 i JQuery form post

[ Pregleda: 1493 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kaleboyzz
Miodrag Sekulić
.NET developer

Član broj: 175106
Poruke: 31
*.dynamic.isp.telekom.rs.



+2 Profil

icon ASP.NET MVC2 i JQuery form post27.02.2011. u 13:23 - pre 160 meseci
Pozdrav svima! Problem: imam sledeći View u projektu:

Code:
 <% using (Ajax.BeginForm("Index", null, new AjaxOptions{UpdateTargetId = "myTable",}, new { ID = "form1"})) {%>
 <%:Html.CheckBox("chkIzlistajSve", false)%>&nbsp;Izlistaj sve <br/>
 <%:Html.DropDownList("ddlKorisnici", (IEnumerable<SelectListItem>)ViewData["korisnici"])%>
 <table id="my Table">
        <tr>
            <th>
              Korisnik
          
            <th>
               Ulica
            </th>
            <th>
               Broj
            </th>
       </tr>
     <%  foreach (var item in Model) { %>
    
        <tr>
            <td>
               <%: item.KorisnikNaziv%>
            </td>
         
            <td >
                <%: item.Ulica%>
            </td>
             <td>
                <%: item.Broj)%>
            </td>
        </tr>
 <%   } %>
</table>
<%   } %>


i JQuery:
Code:

  $(document).ready(function () {
            $("#chkIzlistajSve").click(function () {

                
                var formData = jQuery("#form1").serialize();
               
                var boolSve = $("#chkIzlistajSve").is(":checked");
               
                jQuery.ajax({
                    url: "@Url.Action('Index')",
                    type: "POST",
                    data: formData,
                    cache: false,
                    dataType: "json",
                    success: function () {

                       
                        $("#chkIzlistajSve").attr("checked", boolSve);
                   
                    }

                });
            });


Znači, cilj je da se onClick chekbox-a "Izlistaj sve" forma postuje i da se u action metodu preuzmu vrednosti iz checkbox-a (da li je čekiran) i selektovana vrednost iz dropdown liste.

Action metod izgleda ovako:
Code:

        [HttpPost]
        public ActionResult Index(FormCollection values)
        {

            bool  izlistajSve=bool.Parse(Request.Form["chkIzlistajSve"].ToString());
            int korisnikid = Int32.Parse(Request.Form["ddlKorisnici"].ToString());   
            
             ....
       }


Kada postujem formu na ovaj način, dobijam vrednosti sa forme i sve je u redu, ali kada odradim da se promenom selektovane vrednosti dropdown liste ( znači:
Code:
 $("#ddlKorisnici").change(function () {"identičan kod kao i kod checkbox-a"});
) forma postuje i da se u istom post metodu preuzmu vrednosti, sve Request.Form[""] vrednosti su null.

U čemu je razlika??? Pomagajte...



 
Odgovor na temu

kaleboyzz
Miodrag Sekulić
.NET developer

Član broj: 175106
Poruke: 31
*.static.sbb.rs.



+2 Profil

icon Re: ASP.NET MVC2 i JQuery form post03.03.2011. u 11:10 - pre 159 meseci
Moja greška... Umesto "form1" u kodu pisalo "from1"... Nego, imam još jedno pitanjce u vezi ovog.Dakle, na click checkbox-a ili na promenu selektovanje vrednosti dropdownliste forma se postuje, action post metod
preuzima vrednosti i u zavisnosti od tih vrednosti selektuju se podaci iz baze. Npr. Čekiranjem checkbox-a u partial view-u će se izlistati svi podaci, ako nije čekiran (ako je odčekiran) prikazaće se samo 15 redova, uz podršku paging-a.

View sadrži partial view. Code partial view-a je prikazan gore.

Action post metod:
Code:


        [HttpPost]
        public ActionResult Index(FormCollection values)
        {

            bool  izlistajSve=bool.Parse(Request.Form["chkIzlistajSve"].ToString());
            int korisnikid = Int32.Parse(Request.Form["ddlKorisnici"].ToString());   
            
           IQueryable<Korisnik> k= ts.DajKorisnike();
            var pagedK = new PaginatedList<Korisnikt>(k, 0, k.Count());

            if(izlistajSve)
            {
                 
                                      

             }
             else
            {
                pagedK = new PaginatedList<Korisnikt>(k, 0, 15);

             }
                ViewData["korisnici"] = pagedK;
               return PartialView("Index", pagedK);
        }



problem je u tome što se partial view ne osvežava. Ostaje nepromenjen od učitavanja stranice. Nakon postovanja forme, kroz metod se prođe očekivano. Izselektuju se valjani podaci, ali ih view ne prikaže. Ima li neko ideju zašto?

U JQuery-ju sam promenio da dataType nije više "json" nego "html". Ni to ne pomaže...
 
Odgovor na temu

kaleboyzz
Miodrag Sekulić
.NET developer

Član broj: 175106
Poruke: 31
*.static.sbb.rs.



+2 Profil

icon Re: ASP.NET MVC2 i JQuery form post03.03.2011. u 13:58 - pre 159 meseci
Radim li nešto krucijalno pogrešno???
 
Odgovor na temu

kaleboyzz
Miodrag Sekulić
.NET developer

Član broj: 175106
Poruke: 31
80.93.225.*



+2 Profil

icon Re: ASP.NET MVC2 i JQuery form post10.05.2011. u 07:59 - pre 157 meseci
Problem je bio u Ajax-u. After success je trebalo dodati funkciju koja vraća podatke sa servera i popunjava formu istim.
 
Odgovor na temu

[es] :: .NET :: ASP.NET :: ASP.NET MVC2 i JQuery form post

[ Pregleda: 1493 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.