[ kaleboyzz @ 27.02.2011. 13:23 ] @
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...



[ kaleboyzz @ 03.03.2011. 11:10 ] @
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...
[ kaleboyzz @ 03.03.2011. 13:58 ] @
Radim li nešto krucijalno pogrešno???
[ kaleboyzz @ 10.05.2011. 07:59 ] @
Problem je bio u Ajax-u. After success je trebalo dodati funkciju koja vraća podatke sa servera i popunjava formu istim.