Lấy tham số từ liên kết được mã hóa ASP.NET?

lập trình


Tôi phải lấy tham số từ liên kết được mã hóa.

Định dạng đầu tiên của liên kết giống như: About.aspx?parameter=bla

Nhưng vì một yêu cầu nên liên kết được gửi đến người dùng như

Giới thiệu.aspx?parameter%3Dbla

Từ liên kết Giới thiệu.aspx?parameter%3Dbla tôi sẽ nhận được tham số (bla).
Khi tôi cố gắng lấy tham số bình thường với
Yêu cầu.QueryString[“parameter”] hoặc HttpContext.Cản.Request[“parameter”] chúng trả về giá trị rỗng.

Cảm ơn bạn đã trả lời trước ..

Giải pháp 2

Điều đã xảy ra là “=” trong chuỗi truy vấn của bạn đã được mã hóa html thành %3D. Trước tiên, bạn cần sửa bất cứ điều gì đang tạo url này bằng chuỗi truy vấn để nó xuất hiện chính xác như About.aspx?parameter=bla

Giải pháp 3

Xin chào, đây không phải là giải pháp thích hợp nhưng nó có thể giúp ích cho bạn,
chỉ cần giữ giá trị được mã hóa trong temp rồi giải mã lại và sử dụng giá trị chuỗi truy vấn đó nếu bạn muốn sử dụng:

C#
public partial class About : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var myString = "parameter=\"bla\"";
        var base64EncodedString = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(myString));
        Response.Redirect("Default.aspx?temp=" + base64EncodedString);
    }
}

bây giờ mã cho trang Default.aspx.cs:
——————————

C#
public partial class _Default : System.Web.UI.Page
  {
      protected void Page_Load(object sender, EventArgs e)
      {
          var originalString = ASCIIEncoding.ASCII.GetString(Convert.FromBase64String(Request.QueryString["temps"]));
          lblShowName.Text = Request.QueryString["parameter"];
      }
  }

コメント

タイトルとURLをコピーしました