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”变量什么都没有。为什么会发生这种情况。这种方法有什么问题。
答案 0 :(得分:3)
在按钮上单击,页面将处于回发状态,您的条件将为false if (!IsPostBack)
,因此它不会进入块,因此该值不会分配给strheadlinesid1
< / p>
这个块
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();
}
答案 1 :(得分:2)
点击按钮是一个回发,因此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);
}
答案 2 :(得分:1)
因为按钮点击是一个回发,如果它是一个回发,读取“文件夹”查询字符串的代码不会执行?
因此“值”的值始终为空。
如果这是您想要的,请删除对!IsPostback
的检查。