.net - 使用 ASP.NET Gridview 自定义模板字段

标签 .net asp.net gridview

我可以想出一些黑客方法来做到这一点,...但没有真正简洁的“.NET”方法。

我正在使用 Gridview 显示数据表...其中一列专门用于显示 bool 变量的状态。我试图满足的规范是在代表此变量的列中有一个“打开”和“关闭”按钮...单击“打开”会将数据库中的变量更改为 1,...单击“关闭”将更改它为 0 等。

我通常处理 php,但我猜这可以使用 templatefield 以干净的方式完成......但是,..我不知道如何,这就是我问的原因:)

任何提示将不胜感激。 安德鲁

最佳答案

这样的东西应该能满足你的需求。

ASPX 方面:

<templateField>
  <itemtemplate>
    <asp:button runat="server" id="myButton" Text='<%# Response.Write(IIF(Eval("MyBool"),"Off", "On")) %>' CommandName='<%# Response.Write(IIF(Eval("MyBool"),"TurnOff", "TurnOn")) %>' CommandArgument='<%# Eval("MyRowIdentifier") %>' />
  </itemTemplate>
</templateField>

后台代码:

protected sub Row_itemCommand (ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles MyGrid.RowCommand
   Dim btn As Button =e.Item.FindControl("myButton")
   Select case e.CommandName 
      case "TurnOff"
        MyTurnOffFunction(e.CommandArgument)
        btn.Text = "Off"
        btn.CommandName="TurnOn"
      Case "TurnOn"
        MyTurnOnFunction(e.CommandArgument)
        btn.Text = "On"
        btn.CommandName="TurnOff"
    End Select

End Sub

关于.net - 使用 ASP.NET Gridview 自定义模板字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/679192/

相关文章:

ASP.NET Web 服务器在 HTTPS 方面存在问题——仅限 Chrome

c# - 如何在我的 .net 代码中向 GridView 表格添加圆 Angular ?

C# Process.Start 路径

c# - 在构建时将 ASPX 中的字符串替换为构建版本

c# - 对母版页和页面内容使用相同的 CSS 文件

android - 最后一行可扩展 ListView 在 android 中不是完整 View

c# - 在 c# 中的 grideview + 模板上设置交替行样式

c# - 所有(OOP)依赖项的根存储在哪里?

c# - 我的内部连接有问题

c# - 生成 CPU 缓存未命中时的性能