ASP MVC href a un controlador / vista
Tengo esto:
<li><a href="/Users/Index)" class="elements"><span>Clients</span></a></li>
Que funciona bien. Pero si ya estoy en esta página o en el controlador, por ejemplo, /Users/Details
y hago clic en este enlace, me redirige a /Users/Index
.
¿Cómo puedo obtener la ruta correcta en el href
, independientemente de mi posición actual en el sitio?
6 answers
Hay un par de maneras que usted puede lograr esto. Puedes hacer lo siguiente:
<li>
@Html.ActionLink("Clients", "Index", "User", new { @class = "elements" }, null)
</li>
O esto:
<li>
<a href="@Url.Action("Index", "Users")" class="elements">
<span>Clients</span>
</a>
</li>
Últimamente hago lo siguiente:
<a href="@Url.Action("Index", null, new { area = string.Empty, controller = "User" }, Request.Url.Scheme)">
<span>Clients</span>
</a>
El resultado tendría http://localhost/10000
(o con cualquier puerto que esté utilizando) que se agregará a la estructura de URL como:
http://localhost:10000/Users
Espero que esto ayude.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-16 05:35:51
¿Qué tal
<li>
<a href="@Url.Action("Index", "Users")" class="elements"><span>Clients</span></a>
</li>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-16 08:06:09
Puede modificar con lo siguiente
<li><a href="./Index" class="elements"><span>Clients</span></a></li>
El punto extra significa que estás en el mismo controlador. Si desea cambiar el controlador a un controlador diferente, puede escribir esto
<li><a href="../newController/Index" class="elements"><span>Clients</span></a></li>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-05 05:04:40
Intente lo siguiente:
<a asp-controller="Users" asp-action="Index"></a>
(Válido para ASP.NET 5 y MVC 6)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-21 14:38:01
Aquí ' ~ ' se refiere al directorio raíz, donde Home es controller y Download_Excel_File es actionmethod
<a href="~/Home/Download_Excel_File" />
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-17 07:19:59
También puede usar esta forma muy simplificada:
@Html.ActionLink("Come back to Home", "Index", "Home")
Donde : Come back to Home
es el texto que aparecerá en la página Index
es el nombre de la vista Home
es el nombre del controlador
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-09 02:14:47