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

GridView内一个按钮,为什么获取不到自己的属性
按钮Sendmeg是在GridView模板列里
我想点击一下后 按钮不可用
我这么写
C# code

   protected void Sendmeg_Click(object sender, EventArgs e)
    {
 Sendmeg.Enabled = false;
//提示错误:当前上下文中不存在名称“Sendmeg”
    }


 


C# code

   protected void Sendmeg_Click(object sender, EventArgs e)
    {                Button btmeg;//不同意
                btmeg = (Button)(e.Row.FindControl("Sendmeg"));
               // Sendmeg.Enabled = false;
     }

//提示错误:“System.EventArgs”不包含“Row”的定义,并且找不到可接受类型为“System.EventArgs”的第一个参数的扩展方法“Row”(是否缺少 using 指令或程序集引用?)


------解决方案--------------------
protected void Sendmeg_Click(object sender, EventArgs e)
{
Button x = sender as Button ;
 x.Enabled = false;
}

------解决方案--------------------
你那不可用那是因为没有找到该按钮

在GridView的模板中的所有按钮都是能找到的

找按钮的方式如 btmeg = (Button)(e.Row.FindControl("Sendmeg"));

事实上你已经给该按钮注册了事件,因此在该事件的实现方法中是能得到这个按钮的信息的

法二如:
protected void Sendmeg_Click(object sender, EventArgs e)
{
Button x = sender as Button ;
x.Enabled = false;
}