asp.net - ejemplos - descargar archivos en mvc
documento predeterminado del sitio asp.net en la subcarpeta (4)
Mi documento predeterminado está en la subcarpeta, no en la raíz, ¿cómo puedo hacerlo predeterminado en el sitio web asp.net 2.0?
Probé la configuración predeterminada del documento de iis7 en ''/pages/default.aspx'' ''~ / pages / default.aspx'' pero no funcionó.
El documento predeterminado no es lo mismo que la página de inicio. El documento predeterminado significa que si mysite.com/somefolder
y no especificó un archivo, qué archivo debe mostrar IIS.
Si desea utilizar una página específica como su página de inicio, cree un archivo Default.aspx y escriba esto en su clase codebehind:
public override void ProcessRequest(HttpContext context) {
context.Response.Redirect("pages/default.aspx", true);
}
Como el cliente podría haber desactivado Javascript, un enfoque del lado del servidor sería más confiable. Sin embargo, es mejor emitir un redireccionamiento permanente en lugar de un simple Response.Redirect
. También hacerlo usando JS será malo desde un punto de vista SEO.
Los documentos predeterminados son específicos de la subcarpeta: lo que intenta hacer no funcionará (directamente). Configure un archivo default.htm en la raíz y haga que se actualice a su "página de inicio" real.
La mejor pregunta que debe hacerse es cómo en la Tierra su página de inicio salió del directorio raíz.
No es necesario crear una página ficticia Default.aspx.
En su archivo Global.asax.cs, escriba lo siguiente:
public void Application_Start(object sender, EventArgs e)
{
var routeCollection = RouteTable.Routes;
routeCollection.MapPageRoute("DefaultRoute", string.Empty, "~/YourDesiredSubFolder/YourDesiredDocument.aspx");
}
Explicación:
- El código Application_Start está garantizado para ejecutarse una vez y solo una vez en el inicio de la aplicación.
- La primera línea de código, obtiene una colección de rutas URL para su aplicación.
- La segunda línea de código define una nueva ruta que apunta a su página interna en la subcarpeta que desea.
- El segundo argumento está vacío para indicar que esta ruta se usa cuando no se solicita una página específica y no existe un documento predeterminado.
En teoría, podría tener un archivo Web.config dentro del directorio y usar el elemento defaultDocument para establecer el documento predeterminado. Vea aquí: https://.com/a/2012079/125938 .
Lamentablemente, no he podido hacer que funcione a nivel local, pero puede deberse a que no es compatible con el servidor de desarrollo de Visual Studio.