Salve, qualcuno sa dirmi come mai utilizzando Ajax.Beginform non funziona con chrome?
In pratica il mio problema è questo, ho un formd i gestione che ripete per ogni elemento 3 pulsanti: "leggi", "modifica", elimina",

il codice inserito è questo:

@using (Ajax.BeginForm("buttonClick", "Galleries", new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "formElement",
OnSuccess = "myImgUpload()",
LoadingElementDuration = 100
}, new { id = "tabella", area = "Admin" })
)
{
<div class="hidden-sm hidden-xs action-buttons center">
<input type="hidden" value="@gallery.GalleryId" name="hiddenId" />
<button id="btnLeggi" type="submit" name="btnAction" value="leggi"><i class="ace-icon fa fa-search-plus bigger-130"></i></button>
<button id="btnModifica" type="submit" name="btnAction" value="modifica" ><i class="ace-icon fa fa-pencil bigger-130"></i></button>
<button id="btnCancella" type="submit" name="btnAction" value="cancella"><i class="ace-icon fa fa-trash-o bigger-130"></i></button>
</div>
}

nel controller invece ho questo:

[HttpPost]
public ActionResult buttonClick(FormCollection frm, string btnAction = "")
{
string id = frm["hiddenId"];
ViewBag.ActionToCall = btnAction;
Gallery element = new Gallery();
element = repository.SelectById( Convert.ToInt32(id));
switch (btnAction)
{
case "leggi":
ViewBag.Readonly = true;
break;
case "modifica":
ViewBag.Readonly = false;
break;
case "cancella":
ViewBag.Readonly = true;
break;
}
return PartialView("_CreateGallery",element);
}

il mio problema e' che utilizzando explorer e firefox la variabile "btnAction" nel controller vine evalorizzata, mentre su chrome no.
Esiste una soluzione per risolvere questo problema?
1.495 messaggi dal 27 dicembre 2005
saltello84 ha scritto:
Salve, qualcuno sa dirmi come mai utilizzando Ajax.Beginform non funziona con chrome?
In pratica il mio problema è questo, ho un formd i gestione che ripete per ogni elemento 3 pulsanti: "leggi", "modifica", elimina",

il codice inserito è questo:

@using (Ajax.BeginForm("buttonClick", "Galleries", new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "formElement",
OnSuccess = "myImgUpload()",
LoadingElementDuration = 100
}, new { id = "tabella", area = "Admin" })
)
{
<div class="hidden-sm hidden-xs action-buttons center">
<input type="hidden" value="@gallery.GalleryId" name="hiddenId" />
<button id="btnLeggi" type="submit" name="btnAction" value="leggi"><i class="ace-icon fa fa-search-plus bigger-130"></i></button>
<button id="btnModifica" type="submit" name="btnAction" value="modifica" ><i class="ace-icon fa fa-pencil bigger-130"></i></button>
<button id="btnCancella" type="submit" name="btnAction" value="cancella"><i class="ace-icon fa fa-trash-o bigger-130"></i></button>
</div>
}

nel controller invece ho questo:

[HttpPost]
public ActionResult buttonClick(FormCollection frm, string btnAction = "")
{
string id = frm["hiddenId"];
ViewBag.ActionToCall = btnAction;
Gallery element = new Gallery();
element = repository.SelectById( Convert.ToInt32(id));
switch (btnAction)
{
case "leggi":
ViewBag.Readonly = true;
break;
case "modifica":
ViewBag.Readonly = false;
break;
case "cancella":
ViewBag.Readonly = true;
break;
}
return PartialView("_CreateGallery",element);
}

il mio problema e' che utilizzando explorer e firefox la variabile "btnAction" nel controller vine evalorizzata, mentre su chrome no.
Esiste una soluzione per risolvere questo problema?


Solo per test, hai provato a mettere name univoci ai tre bottoni e vedere se li valorizza ?
Ho provato ma niente....
Domanda, anche se credo che non ci entri niente, ho un errore su jquery.validate.unobtrusive.js, l'ho visto adesso, comporta qualche cosa?
Mi viene il dubbio perchè ho visto che l'errore è solo su chrome....
1.495 messaggi dal 27 dicembre 2005
Puoi mostrarci l'errore?
Ho risolto, almeno quello, era sbagliato l'ordine dei jquery e mancava il validate....

...per il resto sto pensando di scrivere una funzione in pagina che prende il valore del click e fa submit passandolo....mi tocca scriverla a mano, ma così dovrei bypassare il problema, solo che come soluzione non mi sembra molto elegante e sto cercando di evitarla...

ultima cosa a titolo informativo che mi sono scordato di scrivere prima, cambiando il "name" ai button, non funziona più niente, nemmeno sugli altri browser.

Cmq spippolo ancora un pò, vediamo se magari, provandole tutte, trovo il problema
Ho risolto, dipendeva dalla versione dell'unobtrusive-ajax, c'e' stato qualche problema nella prima istallazione, dopo averle provate di tutte, l'ho aggiornato dal nuget con questa stringa :

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

e sostituendo il nuovo a quello che avevo io e' andato tutto a posto.
Grazie comunque per la disponibilita'

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.