从编码链接 ASP.NET 获取参数?

编程


我必须从编码链接获取参数。

第一种链接格式如下: About.aspx?参数=bla

但由于要求,链接会发送给用户,例如

关于.aspx?参数%3Dbla

从链接 关于.aspx?参数%3Dbla ,我应该得到参数(bla)。
当我尝试正常获取参数时
请求.查询字符串[“parameter”] 或 HttpContext.Current.Request[“parameter”] ,它们返回 null。

感谢您提前回复..

解决方案2

发生的情况是查询字符串中的“=”已被 html 编码为 %3D。 您需要先修复使用查询字符串创建此网址的任何内容,以便它正确显示,例如 About.aspx?parameter=bla

解决方案3

您好,这不是一个合适的解决方案,但可能对您有帮助,
只需将编码值保存在 temp 中,然后再次对其进行解码并根据需要使用该查询字符串值:

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);
    }
}

现在 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をコピーしました