根据GridView中绑定的数据更改ASP按钮的属性?

时间:2009-04-04 03:04:33

标签: c# .net asp.net

我正在使用GridView处理表单,从SQL Express数据库中提取数据。最后一列将是一个Button,我希望能够根据绑定到该列的数据进行更改。

该按钮将用作“启用/禁用”切换。基本上,如果用户启用,我希望按钮说“禁用”并让OnClientClick属性指向禁用功能;如果用户被禁用,我希望按钮显示“启用”并指向启用功能。

我的google-fu今天很弱,希望你们都能得到一些帮助。提前谢谢。

3 个答案:

答案 0 :(得分:2)

试试这个,我假设你的启用/禁用是DB中的位值

<asp:TemplateField>
  <ItemTemplate>
    <asp:Button runat="server" ID="btn" Text='<%# "1".Equals(Eval("Enabled").ToString()) ? "Enabled" : "Disabled" %>' OnClick='<%# "1".Equals(Eval("Enabled").ToString()) ? "DISABLE_METHOD" : "ENABLE_METHOD" %>' />
  </ItemTemplate>
</asp:TemplateField>

答案 1 :(得分:2)

在用于绑定网格的数据集中使用“启用/禁用”文本。

然后,利用模板列,按如下方式定义按钮:

<asp:button text='<%# Eval("IsEnabled") %>' runat=server commandname='<%# Eval("IsEnabled") %>' commandargument ='<%# Eval("UserId") %>' id="myButton" />

然后,在网格的RowCommand事件中,执行以下操作:

dim btn as button = e.item.findcontrol("myButton")
select case e.Command
  case "Enable"
    myDisableFunction(e.commandargument)
    btn.Text = 'Disable'
    btn.Cmmand = 'Disable'
  case "Disable"
    myEnableFunction(e.commandArgument)
   btn.Text = "Enable"
    btn.Commandname="Enable"
end case

答案 2 :(得分:1)

使用OnRowDatabound事件(假设.net 2.0以上)作为起点。然后,您可以访问该行的行数据,并可以根据需要更改按钮。我会看看能否为你挖掘一个具体的例子。