2010-07-02 12 views
44

Tengo una vista con un botón. Cuando el usuario hace clic en el botón, quiero que se lo redireccione a una vista de entrada de datos. ¿Cómo logro esto? Debo mencionar que las vistas se crean, prueban y funcionan. Puedo llegar a ellos escribiendo la url.¿Cómo redirecciono a un usuario cuando se hace clic en un botón?

Busqué los pasos que explican cómo conectar el evento onclick del botón, pero soy nuevo en MVC y algo perdido en este momento.

Gracias!

Respuesta

71

Depende de lo que signifique con el botón. Si se trata de un enlace:

<%= Html.ActionLink("some text", "actionName", "controllerName") %> 

Para publicar se puede utilizar un formulario:

<% using(Html.BeginForm("actionName", "controllerName")) { %> 
    <input type="submit" value="Some text" /> 
<% } %> 

Y finalmente, si usted tiene un botón:

<input type="button" value="Some text" onclick="window.location.href='<%= Url.Action("actionName", "controllerName") %>';" /> 
+0

Este es un DenaliHardtail

+0

'@ Html.TextBox (" btnAdd "," Add New ", nuevo {type =" button "}', es posible agregar 'action' y/o 'controlador' a este código de afeitar para que al hacer clic en este botón en particular me redirijan a otra 'acción' en el mismo/diferente controlador? – barnes

0
$("#yourbuttonid").click(function(){ document.location = "<%= Url.Action("Youraction") %>";}) 
4

Si, como yo , no te gusta depender de JavaScript para los enlaces en los botones. También puede usar un ancla y darle un estilo similar a sus botones usando CSS.

<a href="/Controller/View" class="Button">Text</a> 
2

O, si nada de lo anterior funciona, entonces puede utilizar el siguiente enfoque, ya que funcionó para mí.

imaginar esto es su botón de

<button class="btn" onclick="NavigateToPdf(${Id});"></button> 

me dieron el valor de $ {ID} llenó el uso de plantillas jQuery. Puede usar lo que se ajuste a sus necesidades. En la siguiente función, estoy configurando window.location.href igual al nombre del controlador, luego nombre de acción y finalmente parámetro. Puedo navegar con éxito.

function NavigateToPdf(id) { 
    window.location.href = "Link/Pdf/" + id; 
} 

Espero que ayude.

22

Así como una adición a las otras respuestas, aquí se muestra la sintaxis del motor de afeitar:

<input type="button" value="Some text" onclick="@("window.location.href='" + @Url.Action("actionName", "controllerName") + "'");" /> 

o

window.location.href = '@Url.Action("actionName", "controllerName")'; 
4

si se utiliza jQuery, usted puede hacer esto:

<script type="text/javascript"> 
    $('#buttonid').click(function() { 
     document.location = '@Url.Action("ActionName","ControllerName")'; 
    }); 
</script> 
Cuestiones relacionadas