日期:2014-05-18  浏览次数:20457 次

如何获得点击按钮的值
如何获得点击按钮的值(value或者name或者id 任意一个都可以)
我需要将按钮值传到这个方法里面:
C# code

protected void BtnFirst_Click(object sender, EventArgs e)
    {
        Response.Redirect("index.aspx?PageID=1");  //这是我的一个分页代码 的一部分。作用是点击后回到第一页
    }



上面提到的按钮。是搜索按钮,我需要这样的结果:
C# code

protected void Response.Redirect(object sender, EventArgs e)
    {
        if(Session["btn"] = Request.Form["btnserch"])
        {   
             Response.Redirect("index.aspx?PageID=1&game=" + game + "");  //这是我的一个分页代码 的一部分。作用是点击后回到第一页
         }     
     }



代码编译可以成功,但是问题出在Response.Redirect,只要点击Response.Redirect,等于清空session一样。没办法保留住按钮的值。所以这个if语句就起不到作用。如何在原有基础上修改这段代码才能保留住按钮的值呢?

------解决方案--------------------
if(Session["btn"] = Request.Form["btnserch"])
这个可以通过啊。。

不行吧。。

要用==这样子吧。。

redirect是跳转哦,不是在本页postback哦。。
------解决方案--------------------
用LinkButton设置CommandName, CommandArgument属性
------解决方案--------------------
在你的事件中sender对象,就是你的事件源对象如:
((LinkButton) sender).Text 就是
------解决方案--------------------
void btnClick(object sender,System.EventArgs e)
{
string arg=((LinkButton)sender).CommandArgument;
switch(arg)
{
case ("first"):
DataGrid1.CurrentPageIndex=0;
break;
case ("prev"):
if(DataGrid1.CurrentPageIndex>0)
DataGrid1.CurrentPageIndex--;
break;
case ("next"):
if(DataGrid1.CurrentPageIndex<(DataGrid1.PageCount-1))
DataGrid1.CurrentPageIndex++;
break;
case ("last"):
DataGrid1.CurrentPageIndex=DataGrid1.PageCount-1;
break;
default:
DataGrid1.CurrentPageIndex=Convert.ToInt32(arg);
break;
}
BindGrid();//数据绑定方法
}
------解决方案--------------------
探讨
在你的事件中sender对象,就是你的事件源对象如:
((LinkButton) sender).Text 就是

------解决方案--------------------
楼上正解啊!

------解决方案--------------------
((Button)Sender).Text或其他属性
------解决方案--------------------
(sender as Button).Text