HANDSOMEROOT
How to get Paths and URL fragments from the HttpRequest object?
- Nhận đường liên kết
- X
- Ứng dụng khác
Tổng quát
Nếu bạn đã thực hiện nhiều chương trình ASP.NET bạn đã có thể dành nhiều thời gian liên kết đến các địa chỉ URL khác và ngược lại. Nhu cầu này phát sinh bất cứ khi nào bạn lưu trữ các tập tin trên máy chủ hoặc làm một số loại phân tích cú pháp trên URL Request.Bài viết này sẽ xem xét các thuộc tính của đối tượng Request (cung cấp đường dẫn và thông tin địa chỉ liên quan đến các ứng dụng và các yêu cầu hiện tại).
Trước tiên, đây là một vài bảng thuộc tính hữu ích trên các đối tượng Request và ví dụ về các dữ liệu trả về từ một URL cho trước.
Đối với đường dẫn:
http://localhost:96/Cambia3/Temp/Test.aspx?q=item#fragment
Request.ApplicationPath: | /Cambia3 |
Request.CurrentExecutionFilePath: | /Cambia3/Temp/Test.aspx |
Request.FilePath: | /Cambia3/Temp/Test.aspx |
Request.Path: | /Cambia3/Temp/Test.aspx |
Request.PathInfo: | |
Request.PhysicalApplicationPath: | D:\Inetpub\wwwroot\CambiaWeb\Cambia3\ |
Request.RawUrl: | /Cambia3/Temp/Test.aspx?query=arg |
Request.Url.AbsolutePath: | /Cambia3/Temp/Test.aspx |
Request.Url.AbsoluteUri: | http://localhost:96/Cambia3/Temp/Test.aspx?query=arg |
Request.Url.Fragment: | |
Request.Url.Host: | localhost |
Request.Url.Authority: | localhost:96 |
Request.Url.LocalPath: | /Cambia3/Temp/Test.aspx |
Request.Url.PathAndQuery: | /Cambia3/Temp/Test.aspx?query=arg |
Request.Url.Port: | 96 |
Request.Url.Query: | ?query=arg |
Request.Url.Scheme: | http |
Request.Url.Segments: | / Cambia3/ Temp/ Test.aspx |
Đối với đường dẫn:
http://localhost:96/Cambia3/Temp/Test.aspx/path/info?q=item#fragment
Request.ApplicationPath: | /Cambia3 |
Request.CurrentExecutionFilePath: | /Cambia3/Temp/Test.aspx |
Request.FilePath: | /Cambia3/Temp/Test.aspx |
Request.Path: | /Cambia3/Temp/Test.aspx/path/info |
Request.PathInfo: | /path/info |
Request.PhysicalApplicationPath: | D:\Inetpub\wwwroot\CambiaWeb\Cambia3\ |
Request.RawUrl: | /Cambia3/Temp/Test.aspx/path/info?query=arg |
Request.Url.AbsolutePath: | /Cambia3/Temp/Test.aspx/path/info |
Request.Url.AbsoluteUri: | http://localhost:96/Cambia3/Temp/Test.aspx/path/info?query=arg |
Request.Url.Fragment: | |
Request.Url.Host: | localhost |
Request.Url.LocalPath: | /Cambia3/Temp/Test.aspx/path/info |
Request.Url.PathAndQuery: | /Cambia3/Temp/Test.aspx/path/info?query=arg |
Request.Url.Port: | 96 |
Request.Url.Query: | ?query=arg |
Request.Url.Scheme: | http |
Request.Url.Segments: | / Cambia3/ Temp/ Test.aspx/ path/ info |
Bạn có thể sử dụng phương pháp này trong một tập tin code-behind cho một trang aspx (với một tên điều khiển Label lblOutput)
private void DisplayRequestObjectProperties() { lblOutput.Text = "<table cellpadding=2 border=1>"; lblOutput.Text += "<tr><td colspan=2 align=center>"; lblOutput.Text += "Some HttpRequest path and ULR properties:"; lblOutput.Text += "</td></tr>"; // application path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.ApplicationPath:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.ApplicationPath + "</b>"; lblOutput.Text += "</td></tr>"; // current execution file path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.CurrentExecutionFilePath:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.CurrentExecutionFilePath + "</b>"; lblOutput.Text += "</td></tr>"; // file path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.FilePath:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.FilePath + "</b>"; lblOutput.Text += "</td></tr>"; // path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Path:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Path + "</b>"; lblOutput.Text += "</td></tr>"; // path info lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.PathInfo:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.PathInfo + "</b>"; lblOutput.Text += "</td></tr>"; // physical application path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.PhysicalApplicationPath:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.PhysicalApplicationPath + "</b>"; lblOutput.Text += "</td></tr>"; // raw url lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.RawUrl:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.RawUrl + "</b>"; lblOutput.Text += "</td></tr>"; // absolute path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.AbsolutePath:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.AbsolutePath + "</b>"; lblOutput.Text += "</td></tr>"; // absolute uri lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.AbsoluteUri:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.AbsoluteUri + "</b>"; lblOutput.Text += "</td></tr>"; // fragment lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Fragment:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.Fragment + "</b>"; lblOutput.Text += "</td></tr>"; // host lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Host:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.Host + "</b>"; lblOutput.Text += "</td></tr>"; // authority lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Authority:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.Authority + "</b>"; lblOutput.Text += "</td></tr>"; // local path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.LocalPath:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.LocalPath + "</b>"; lblOutput.Text += "</td></tr>"; // path and query lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.PathAndQuery:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.PathAndQuery + "</b>"; lblOutput.Text += "</td></tr>"; // port lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Port:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.Port + "</b>"; lblOutput.Text += "</td></tr>"; // query lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Query:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.Query + "</b>"; lblOutput.Text += "</td></tr>"; // scheme lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Scheme:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.Scheme + "</b>"; lblOutput.Text += "</td></tr>"; // segments lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Segments:"; lblOutput.Text += "</td><td>"; string[] segments = Request.Url.Segments; foreach (string s in segments) lblOutput.Text += "<b>" + s + "</b><br>"; lblOutput.Text += "</td></tr>"; lblOutput.Text += "</table>"; }
Nguồn: http://www.cambiaresearch.com/articles/53/how-do-i-get-paths-and-url-fragments-from-the-httprequest-object
Bài đăng phổ biến từ blog này
[Share] CSDL Quản lý Shop Online
Cấu trúc của cơ sở dữ liệu Danh sách các bảng 1. Bảng About (Lưu các bài viết giới thiệu cửa hàng) 2. Bảng Contact (Lưu thông tin liên hệ của cửa hàng) 3. Bảng Feedback (Lưu trữ thông tin phản hồi của người dùng) 4. Bảng Footer (Lưu trữ những thiết kế footer của trang web) 5. Bảng MenuType (Lưu trữ các loại menu trong trang web. Ví dụ : TopMenu, LeftMenu…) 6. Bảng Menu (Lưu trữ các menu) 7. Bảng NewCategory (Lưu trữ các nhóm chuyên mục về tin tức. Ví dụ : Tin khuyến mãi, tin công nghệ,…) 8. Bảng New (Lưu trữ các tin tức, bài đăng trên website) 9. Bảng Tag (Lưu trữ các thẻ) 10. Bảng NewTag (Lưu trữ các thẻ trong bài viết) 11. Bảng ProductCategory (Lưu trữ các nhóm sản phẩm) 12. Bảng Product (Lưu trữ thông tin sản phẩm) 13. Bảng Slide (Lưu trữ các hình ảnh Slide)
Hướng dẫn cài đặt VRML Pad và Cortona 3D Viewer
1. Hướng dẫn cài đặt VrmlPad 3.0 Chào các bạn. Hôm nay mình sẽ hướng dẫn các bạn cài đặt VrmlPad 3.0 Đầu tiên các bạn truy cập vào link sau để download phần mềm http://www.parallelgraphics.com/products/vrmlpad/download/ Ở phần VrmlPad 3.0 > Evalustion version chọn Download Sau khi quá trình tải về hoàn tất Các bạn tiến hành cài đặt phần mềm Chọn Next Nhấn Browser để chọn đường dẫn cài đặt phần mềm, chọn Next Chọn Install Chờ quá trình cài đặt phần mềm thành công. Nhấn Finish OK. Mình đã cài đặt xong. Giao diện phần mềm khi chạy lần đầu tiên Các bạn đã có thể soạn thảo Nhưng để chạy được file .wrl này chúng ta sẽ cài thêm 1 phần mềm bổ trợ Cortona 3D 2. Hướng dẫn cài đặt Cortona 3D Viewer Các bạn vào link sau để download http://www.cortona3d.com/ Chọn Menu " PRODUCTS " > " VIEWERS " > " CORTONA 3D VIEWER " Tiếp theo chọn DOWNLOAD CORTONA 3D VIEWER Chọn download tùy vào
RANKING in SQL (ROW_NUMBER, RANK, DENSE_RANK,NTILE)
Hàm Ranking là gì? Các hàm Ranking cho phép bạn có thể đánh số liên tục (xếp loại) cho các tập hợp kết quả. Các hàm này có thể được sử dụng để cung cấp số thứ tự trong hệ thống đánh số tuần tự khác nhau. Có thể hiểu đơn giản như sau: bạn có từng con số nằm trên từng dòng liên tục, tại dòng thứ nhất xếp loại số 1, dòng thứ 2 xếp loại số là 2… Bạn có thể sử dụng hàm ranking theo các nhóm số tuần tự, mỗi một nhóm sẽ được đánh số theo lược đồ 1,2,3 và nhóm tiếp theo lại bắt đầu bằng 1,2,3… Chúng ta bắt đầu xem xét cách hàm trong sql hổ trợ từ 2005 Dữ liệu thử : CREATE TABLE Person( FirstName VARCHAR(10), Age INT, Gender CHAR(1) ) INSERT INTO Person VALUES ('Ted', 23, 'M') INSERT INTO Person VALUES ('John', 40, 'M') INSERT INTO Person VALUES ('George', 6, 'M') INSERT INTO Person VALUES ('Mary', 11, 'F') INSERT INTO Person VALUES ('Sam', 17, 'M') INSERT INTO Pe
Nhận xét
Đăng nhận xét