Come faccio a codificare l'equivalente di un @ Html.ActionLink tramite codice javascript, ad esempio, chiama un'azione MVC che creerà quindi una nuova vista senza tornare alla vista di chiamata?MVC equivalente di @ Html.ActionLink tramite javascript
risposta
javascript
è un linguaggio lato client che non conosce nulla sulla lingua lato server che si sta utilizzando. Quindi è normale che non ci siano equivalenti in javascript del server side helper che genera un url usando le definizioni del percorso lato server.
E non è del tutto chiaro che cosa si sta cercando di raggiungere, ma se si desidera utilizzare chiamare qualche url tramite javascript si potrebbe generare questo URL utilizzando un aiutante lato server:
<script type="text/javascript">
var url = '@Url.Action("SomeAction", "SomeController")';
// do something with the url client side variable, for example redirect
window.location.href = url;
</script>
Se si desidera utilizzare questo url in un file javascript separato in cui non si ha accesso agli helper lato server si potrebbe ancora, a seconda della situazione, includere questo URL in qualche elemento DOM.
Ad esempio:
<div id="foo" data-url="@Url.Action("SomeAction", "SomeController")">Click me</div>
Avviso l'attributo data-url
HTML5 che abbiamo integrato nel DOM e ha utilizzato un lato aiutante server per garantire che l'URL generato sarà sempre corretto in base alle nostre definizioni di routing. Ora potremmo in un file JavaScript separato discretamente sottoscrivere l'evento click di questo div e recuperare l'url:
$('#foo').click(function() {
var url = $(this).data('url');
// do something with the url client side variable, for example redirect
window.location.href = url;
});
Altri esempi includono, ovviamente, lo standard <a>
e <form>
elementi che dovrebbero essere generati utilizzando aiutanti lato server HTML e poi tutto quello che devi fare nel tuo file javascript separato è quello di recuperare gli attributi href
o action
corrispondenti per recuperare l'url effettivo e fare qualcosa con esso.
Grazie. Era il "window.location.href = url;" codice che stavo cercando – Martin
Contento di aver potuto aiutare. Se questa risposta ti ha aiutato a risolvere il problema che avevi, potresti considerare di contrassegnarlo come risposta facendo clic sul segno di spunta accanto ad esso: http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer -work –
@DarinDimitrov Possiamo passare i parametri all'azione specifica '@ Url.Action ("SomeAction", "SomeController")' in questa porzione di codice? –
Un'altra opzione è quella di memorizzare l'URL in un numero nascosto <div>
da qualche parte nella pagina e chiamarlo tramite Javascript in seguito. Si sarebbe simile a questa:
Index.cshtml:
<div style="display: none;" id="url">
@Url.Action("SomeAction", "SomeController")
</div>
quindi è possibile utilizzare questo nella vostra script.js file per creare tutti i collegamenti che si desidera.
var url = $("#url").text();
La variabile URL sarebbe quindi contenere un link a WebSafe /SomeController/SomeAction
.
- 1. MVC Html.ActionLink ignora il parametro di controllo
- 2. MVC Equivalente di Page_Load
- 3. Ajax.ActionLink vs Html.ActionLink + Jquery.Ajax call
- 4. ASP.NET MVC - difficoltà di minzione modello routeValues Html.ActionLink
- 5. Come modificare dinamicamente la classe di un Html.ActionLink in MVC
- 6. IAuthenticationFilter equivalente in MVC
- 7. mettendo @ Html.DisplayFor in @ Html.ActionLink
- 8. Html.ActionLink molto lento
- 9. Non è possibile utilizzare Html.ActionLink in asp.net mvc spark files
- 10. Creare un Html.ActionLink attorno a un'immagine in ASP.NET MVC?
- 11. parametro Passo al controller da @ Html.ActionLink MVC 4
- 12. Come chiamare il nome percorso in Html.ActionLink asp.net MVC?
- 13. asp.net Html.ActionLink MVC() mantenendo il valore percorso Non voglio
- 14. Java equivalente di JavaScript String.match()
- 15. Javascript equivalente di php mktime
- 16. equivalente JavaScript di Python __setitem__
- 17. Come inserisco un'immagine usando HTML.ActionLink?
- 18. equivalente Page.EnableSessionState in ASP.NET MVC
- 19. @ Html.ActionLink come aggiungere una stringa di query
- 20. urllib.quote_plus() equivalente in JavaScript
- 21. Javascript equivalente a $ ('body')
- 22. Html.ActionLink() non funziona per il passaggio di un oggetto C#
- 23. Javascript equivalente di strtotime di php()?
- 24. Javascript equivalente di dict.setdefault di Python?
- 25. Utilizzando Html.ActionLink con RouteValues
- 26. Html.ActionLink con ID
- 27. Python dir() equivalente in JavaScript?
- 28. seek() equivalente in javascript/node.js?
- 29. equivalente JavaScript per PHP preg_replace
- 30. Javascript equivalente a `send` di Ruby
Vuoi usare ajax? Come vuoi javascript per _call_ un'azione? – jrummell