无法将值传递给 ASP.NET (C#) 中的其他网页

本文关键字:网页 其他 NET 值传 ASP | 更新日期: 2023-09-27 17:57:02

public void Submit1_Click(Object sender, EventArgs E)
{
    string strheadlinesid1 = string.Empty;
    if (!IsPostBack)
    {
        if (!string.IsNullOrEmpty(Convert.ToString(Request.QueryString["folder"].ToString())))
        {
            strheadlinesid1 = Request.QueryString["folder"].ToString();
        }
    }
    string URL = "view4.aspx?value="+strheadlinesid1;
    Response.Redirect(URL);
   }

这是我正在使用的函数,但是当我传递strheadlinesid1时,URL中的"value"变量一无所获。为什么会这样。这种方法有什么错误吗?

无法将值传递给 ASP.NET (C#) 中的其他网页

单击按钮时,页面将处于回发状态,并且您的条件将为 if (!IsPostBack) false,因此它不会进入块,因此该值不会分配给strheadlinesid1

此块

if (!IsPostBack)
{
    if (!string.IsNullOrEmpty(Convert.ToString(Request.QueryString["folder"].ToString())))
    {
        strheadlinesid1 = Request.QueryString["folder"].ToString();
    }
}

应该是

 if (!string.IsNullOrEmpty(Convert.ToString(Request.QueryString["folder"].ToString())))
    {
        strheadlinesid1 = Request.QueryString["folder"].ToString();
    }
按钮

单击是回发,因此strheadlinesid1不会被分配到,并且将为空。

您需要删除IsPostback检查,因为按钮单击事件通常将作为回发事件执行。

public void Submit1_Click(Object sender, EventArgs E)
{
    string strheadlinesid1 = string.Empty;
    if (!string.IsNullOrEmpty(Convert.ToString(Request.QueryString["folder"].ToString())))
    {
        strheadlinesid1 = Request.QueryString["folder"].ToString();
    }
    string URL = "view4.aspx?value="+strheadlinesid1;
    Response.Redirect(URL);
}

因为按钮单击是回发,并且读取"文件夹"查询字符串的代码在回发时不会执行?

所以"值"的值总是空的。

删除检查!IsPostback,如果这是您想要的。