asp.net vb.net gridview response.redirect

ASP.NET-Respuesta redirigir a una carpeta diferente



vb.net gridview (3)

Esto debería funcionar

Response.Redirect("~/staff/staff.aspx");

Estoy intentando redirigir una vista de cuadrícula en la selección. Sin embargo, me estoy atascado en la redirección cuando la página a la que intento redirigir está en una carpeta diferente.

La vista de cuadrícula está en una carpeta llamada HR. Estoy intentando redirigir esto a un archivo llamado Staff dentro de una carpeta llamada Staff (Staff / Staff). ¿Cómo puedo redireccionar a una carpeta diferente?

If e.CommandName = "Select" Then ''Add to session variable; translate the index of clicked to Primary Key Session.Add("DetailsKey", GridView1.DataKeys(e.CommandArgument).Value.ToString) Response.Redirect("staff/staff.aspx") End If


Lo principal es usar / lugar de / . No está redireccionando a una carpeta en el servidor, sino a una ruta en el sitio web (el hecho de que esto significa que una carpeta en su servidor es solo un detalle de implementación).

Puede hacer todos los formularios que pueda con enlaces relativos. Por lo tanto, "staff/staff.aspx" va al archivo llamado staff.aspx en la carpeta llamada staff que se encuentra en la carpeta actual (asumiendo su sistema basado en carpetas y archivos). "../staff/staff.aspx" sube una carpeta, luego al personal y luego a staff.aspx. "../../staff/staff.aspx" sube dos primero. "/staff/staff.aspx" va a la raíz del dominio en ( http://mysite.com/staff/staff.aspx , etc.).

Además de todos estos, "~/staff/staff.aspx" va a la raíz de la aplicación, luego al personal dentro de eso, luego a staff.aspx. Esto es útil si trabaja en el sitio de manera que esté en http://localhost/currentProject/staff/staff.aspx porque el proyecto está en http://localhost/currentProject/ pero implementado en http://mysite.com/staff/staff.aspx ya que el sitio está en http://mysite.com/ . De esta manera, el mismo código funciona en ambos sentidos.


Response.Redirect("~/staff/staff.aspx")