Ya se tomaron algunas respuestas cortas, por diversión, y porque probablemente quiera hacer esto desde otros formularios web, aquí hay una solución expandida que afectará uniformemente todos los formularios web en su proyecto (incluye código para obtener un nombre de archivo según lo solicitado).
Cree un método de extensión para la clase System.Web.UI.Page poniendo este código en un archivo. Necesita usar .NET 3.5.
namespace MyExtensions {
using System.Web.UI;
static public class Extensions {
/* You can stuff anybody else's logic into this
* method to get the page filename, whichever implementation you prefer.
*/
static public string GetFilename(this Page p) {
// Extract filename.
return p.AppRelativeVirtualPath.Substring(
p.AppRelativeVirtualPath.IndexOf("/") + 1
);
}
}
}
Para obtener el nombre del archivo desde cualquier formulario Web ASP.NET (por ejemplo, en el método de carga que ha especificado):
using MyExtensions;
protected void Page_Load(object sender, EventArgs e) {
string aspxFileName = this.GetFilename();
}
llama a este método en cualquier formulario web en su proyecto.
¿Por qué reemplazar .aspx con .css? –
@jdk: creo que JamesBrownIsDead copió y pegó uno de sus códigos existentes. Pero la idea general está ahí para que todos la vean. –