Một số câu trả lời ngắn đã được thực hiện, vì bạn có thể muốn thực hiện điều này từ các Biểu mẫu web khác, đây là giải pháp mở rộng sẽ ảnh hưởng đến tất cả biểu mẫu web trong dự án của bạn một cách thống nhất (bao gồm mã để có được tên tệp theo yêu cầu).
Tạo phương thức mở rộng cho lớp System.Web.UI.Page bằng cách đặt mã này vào tệp. Bạn cần sử dụng .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
);
}
}
}
Để có được tên tập tin từ bất kỳ Web Form ASP.NET (ví dụ trong phương thức tải mà bạn chỉ định):
using MyExtensions;
protected void Page_Load(object sender, EventArgs e) {
string aspxFileName = this.GetFilename();
}
Gọi phương pháp này trên bất kỳ mẫu web trong dự án của bạn.
Nguồn
2009-11-28 01:45:07
Tại sao thay thế .aspx bằng .css? –
@jdk: Tôi nghĩ rằng JamesBrownIsDead đã sao chép và dán từ một trong các mã hiện có của anh ấy. Nhưng ý tưởng chung là có cho tất cả để xem. –