Conferma per l’Url.Azione rasoio

Ciao sto utilizzando un pulsante di modifica all’interno di una gridview. Ho voglia di un pulsante di conferma prima di chiamare all’azione?

grid.Column("","",format:@<text>@if(!item.IsBookPublished)
{
 <text> <a href='@Url.Action("EditBookByID","Books", new {BookID = @item.BookDetailsID, CreatedBy = @item.UserID , onclick = "return confirm('Are you sure you want to Edit?')" })'>Edit</a></text>
 }
 </text>

Tuttavia la proprietà onclick non è la valutazione, invece, passando come parametro. Come posso ottenere la conferma?

  • È possibile utilizzare jQuery per gestire l’evento onclick a href. All’interno `<a> tag è possibile memorizzare bookID in attributo. Eventi JavaScript funzione semplicemente di leggere questo, mostra la finestra di conferma e reindirizzare l’azione dopo conferma.
  • Grazie Robert ha ottenuto ha funzionato, miss posto onclick all’interno degli attributi di oggetto (vedere Darins e Ryan risposte). Tuttavia vorrei confermare che, in cromo e dopo pochi click e siamo in grado di disattivare gli avvisi. Cosa succede dopo?
InformationsquelleAutor TBA | 2013-07-09

 

2 Replies
  1. 13

    Hai messo nel posto sbagliato. Adesso che hai passato come parametro all’Url.Azione helper, mentre dovrebbe essere un attributo diverso, allo stesso modo si è definito l’attributo href:

    <a href="@Url.Action("EditBookByID", "Books", new { bookID = item.BookDetailsID, CreatedBy = item.UserID })" onclick="return confirm('Are you sure you want to Edit?')">Edit</a>

    Dal modo in cui si dovrebbe considerare l’utilizzo di assistenti per che:

    grid.Column("", "", format:
        @<text>
            @if(!item.IsBookPublished)
            {
                Html.ActionLink(
                    "Edit", 
                    "EditBookByID", 
                    "Books",
                    new { bookID = @item.BookDetailsID },
                    new { onclick = "return confirm('Are you sure you want to Edit?')" }
                )
            }
        </text>
    )
    • Grazie mille cari Darin 🙂 Completamente perso !!
    • Grazie che ha funzionato 🙂 mi Puoi dire perché noi abbiamo bisogno di questo aiutanti? C’è qualche vantaggio sopra i tag di ancoraggio?
    • Sì, ci sono molti vantaggi: lato server aiutanti si prenderà cura di correttamente la codifica di tutti i dati.
    • Ciao Darin una domanda, se ho bisogno di questo url.Azione di un pulsante, come posso fare lo conferma. Per Esempio : <input style="float:left" type="button" title="Back to Book List" value="Back to Book List" onclick="location.href='@Url.Action("EditBookByID", "Books", new { bookID = item.BookDetailsID, CreatedBy = item.UserID })'" />
    • Come questo: <input style="float:left" type="button" title="Back to Book List" value="Back to Book List" onclick="if (confirm('Are you sure you want to Edit?')) { window.location.href='@Url.Action("EditBookByID", "Books", new { bookID = item.BookDetailsID, CreatedBy = item.UserID })'; }" />.
    • Ma questo è assolutamente sbagliato il markup semantico. Non si deve usare un pulsante per qualcosa che reindirizza. Si dovrebbe utilizzare un ancoraggio.
    • Grazie Darin capito 🙂

  2. 5

    Mettendo il “onclick” all’interno dell’Url.Azione aiuto, sei dicendo a tradurre come parametro URL.

    Ciò che si desidera fare, invece che mettere la onclick al di fuori dell’helper come questo:

    <a href='@Url.Action("EditBookByID","Books", new {BookID = @item.BookDetailsID, CreatedBy = @item.UserID  })' onclick = "return confirm('Are you sure you want to Edit?')">
        Edit
    <a>
    • Grazie Ryan ha trovato ha funzionato 🙂

Lascia un commento