GridView:单击按钮时获取行的数据键

2024-02-13

当我在具有 OnClick 事件的行中有一个按钮时,如何获取 GridView 行的 DataKeyName 的值。在按钮的 OnClick 事件中,我想获取按钮所在行的 DataKeyName。

这可能吗?

<asp:GridView ID="myGridView" run="server">
     <Columns>
          <asp:TemplateField HeaderText="Column 1">
               <ItemTemplate>
                   ... bunch of html codes
                   <asp:Button ID="myButton" UseSubmitBehavior="false" runat="server" Text="Click Me" onclick="btnClick_Click" />
               </ItemTemplate>
           </asp:TemplateField>
     </Columns>
</asp:GridView>

在我的代码隐藏中

protected void btnClick_Click(object sender, EventArgs e)
{
    // How can I get the DataKeyName value of the Row that the Button was clicked?
}

当我使用 GridView 时,我通常不使用OnClick按钮的事件。相反,我使用OnRowCommandGridView 上的事件,并将数据绑定到CommandArgument按钮的属性。您可以从以下位置检索命令参数GridViewCommandEventArgs事件处理程序的参数。

您可以使用CommandName参数绑定任意字符串以区分任意不同kinds您拥有的按钮数量。请注意,某些命令名称已用于其他事件,例如“编辑”、“更新”、“取消”、“选择”和“删除”。

Update:

这是一个示例,假设数据密钥称为“ID”:

<asp:GridView ID="myGridView" runat="server" OnRowCommand="myGridView_RowCommand">
     <Columns>
          <asp:TemplateField HeaderText="Column 1">
               <ItemTemplate>
                   ... bunch of html codes
                   <asp:Button ID="myButton" runat="server" Text="Click Me" CommandName="ClickMe" CommandArgument='<%# Eval("ID") %>' />
               </ItemTemplate>
           </asp:TemplateField>
     </Columns>
</asp:GridView>

在后面的代码中:

protected void myGridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
    var datakey = e.CommandArgument;
    // ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GridView:单击按钮时获取行的数据键 的相关文章

  • 从备用位置获取实体框架连接字符串?

    如何从自定义配置文件而不是 web config 检索 Entity Framework 4 连接字符串 编辑 删除默认构造函数生成的代码并在分部类中重新创建它以使用拉入的连接字符串是否合理 我真的很想避免使用包括连接字符串在内的重载方法更
  • C# 和匿名对象数组

    这样的表达是什么意思呢 obj DataSource new new Text Silverlight Count 10 Link Tags Silverlight new Text IIS 7 Count 11 Link http iis
  • GeneratePasswordResetTokenAsync 和GenerateUserTokenAsync 的默认TokenLifespan 是多少

    我到处都找过 但似乎无法确定每个选项的默认值是什么 我还需要知道是否有办法为每个设置不同的寿命 谢谢 对于任何令牌来说 默认值显然都是 24 小时 您可以将其设置为不同的值 但相同的值将同等地应用于所有令牌 GenerateEmailCon
  • 无法将 MVC 4 部署到服务器

    我的 Web 应用程序只是一个用 VS 2010 MVC 4 制作的简单 Web 应用程序 没有任何外部代码 它只是 VS 2010 的默认应用程序 我有 Plesk 的豪华 Windows 托管 我从未更改过帐户中的任何功能 我将所有文件
  • 优化视图状态

    是否有人对优化 ASP NET 应用程序的视图状态有任何想法或参考可以向我指出 我不想把它全部关闭 优化它的主要目标是提高性能 所以我不想运行一个昂贵的函数来递归地禁用某些控件的视图状态 因为该函数会减慢速度页面的加载时间会达不到目的 有任
  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • HttpContext.GetGlobalResourceObject 始终返回 null

    我在 App GlobalResources 文件夹中创建了两个文件 SiteResources en US resx SiteResources sp SP resx 两者都包含 SiteTitleSeparator 的值 这是我想要做的
  • 服务器不支持 C# 中的安全连接

    我在下面的代码中收到错误 服务器不支持安全连接 SmtpClient smtp new SmtpClient MailMessage mail new MailMessage mail From new MailAddress gmail
  • httpmodules httphandlers,它们的理想用途是什么?什么时候使用,什么时候不使用?

    我对 httpmodules 和 httphandlers 有一些疑问 我对它们的真正需要有点困惑 我创建了很多网站 但很少使用它们 当然我失去了不使用它们的好处 这些好处是什么 什么时候使用 什么时候不使用 您可以使用 httpmodul
  • 参考装配错误

    我已经实现了 RoleProvider 类 在那里我创建了位于另一个程序集中的 Domain 类对象 我的程序集具有对该程序集的引用 错误 3 类型 System Data Entity DbContext 是在 未引用的程序集 您必须添加
  • 更改所选控件的输入语言

    我的应用程序中有一个文本区域 我想以编程方式单独设置文本区域的输入语言 而不影响其他控件 不幸的是 您的程序无法完成此操作 用户需要使用 Unicode 键盘或输入法编辑器 IME 由于您使用的是 C Net 平台 因此您的程序已经能够处理
  • 如何从客户端设置 HTMLEditorExtender HTML

    我无法让它工作 这是我在另一个线程中找到的代码 但它对我不起作用 我得到 set content 不是函数 find set content whatever 这仍然有效吗 我还尝试设置它扩展的文本框的值 尝试设置两者的 InnerHtml
  • EF存储库模式多对多插入

    我们有 2 张桌子 表权限 public class Authority public int ID get set public string Name get set 表代理 public class Agent public int
  • 如何从 ASP.net 网站写入 OutputDebugString?

    我需要从网站上的代码输出一些调试信息 我怎样才能打电话OutputDebugString来自 ASP net 网站 并将其显示给运行 DbgView 的用户 Note 网站不支持System Diagnostics Trace TraceW
  • 是否可以在 ASP.NET Web API 和 SPA 中使用基于 cookie 的身份验证?

    我想创建基于 angularjs 前端和 ASP NET Web API 的 Web 应用程序 我需要创建安全 api 但我无法在将实施此 Web 应用程序的公司服务器上使用基于令牌的身份验证 是否可以对 SPA 和 ASP NET Web
  • 如何让浏览器后退按钮通过 AJAX 调用带您返回?

    我有一个页面 上面有很多动态生成的复选框 当用户单击这些复选框时 页面上的许多内容会通过 ajax 动态更改 最终用户抱怨 在点击提交然后点击后退按钮更改某些内容后 他们的选择被破坏了 他们必须重新做一遍 我见过一些网站 gmail fac
  • 使用 jQuery 获取 ASP.Net Gridview 的 rowIndex

    您好 是否可以使用 jQuery 获取 gridview 的当前行索引 一点背景 我使用模板字段中的服务器端链接按钮从 gridview 中删除行 如下所示
  • 我的机器密钥是自动生成的还是隔离的?

    我正在尝试分享 ASPXAUTHASP NET MVC 4 应用程序 在 IIS 7 5 中 和使用的服务之间的 cookieHttpListener在同一主机上 浏览器正确地向两者呈现 cookie 但我的服务收到System Web H
  • 如何使用泛型类型的 DataContractSerializer 编写自定义序列化器?

    我想编写一个自定义序列化器 用于将会话状态存储到Azure 缓存 预览版 这意味着这个自定义序列化器必须实现IDataCacheObjectSerializer 如果我错了 请告诉我 我需要编写这个自定义序列化程序的原因是我需要序列化一些包
  • 如何使用 ASP.NET Web 表单从代码隐藏中访问更新面板内的文本框、标签

    我在更新面板中定义了一些控件 它们绑定到中继器控件 我需要根据匿名字段隐藏和显示用户名和国家 地区 但问题是我无法以编程方式访问更新面板中定义的控件 我如何访问这些控件 我也在网上查找但找不到很多参考资料 下面是来自aspx页面和 cs页面

随机推荐

  • 预加载图像并在加载时显示微调器

    Hy 我使用 uploadify 上传一些图像 在我在列表中显示所有图像拇指后 当我单击图像拇指时 会使用此功能在 div 中打开更大的图像 thumbs li a click function var largePath this att
  • 在模式匹配时修改字段

    我今天第一次尝试 Rust 编写 XML 分词器 自然不明白所有内容 我有一个带有可以采用枚举值的字段的结构 enum State Outside InATag str struct Tokenizer state State In a i
  • 如何禁止在webpack编译过程中替换process.env变量?

    Story 我正在开发 AWS Lambda 函数并使用编译代码webpack 我读过一些文章 似乎process env变量在编译期间自动替换 虽然这很酷 但我想禁止这种行为 Why 因为我使用 AWS Lambda 仪表板传递环境变量
  • golang docker run的无限for循环问题

    我尝试做简单的无限循环任务 不使用 docker 也能正常工作 但是当我使用 docker 时 它只无限执行 for 循环的 else 部分 实际上可能是什么问题 docker 是否有无限循环的问题 我的 main go 文件如下所示 pa
  • Word 2010 Interop PDF 导出缺少边框线

    我有一个奇怪的问题 我正在使用 Word 2010 Interop 将 WordML 文档导出为 PDF 有一个带有顶线和底线的页脚
  • 带 ViewPager 的 CollapsingToolbarLayout 内的片段不会向下滑动

    我有一个带有 CollapsingToolbarLayout 和 TabLayout 的活动 当我左右滑动时 它在片段之间完美移动 然而 当我尝试向下滚动 屏幕截图中的红色箭头 时 它会忽略它 我尝试向片段添加 ScrollView 但它没
  • 该证书在 ios 钥匙串中的颁发者无效

    钥匙串显示证书错误 gt 该证书的颁发者无效 请参阅屏幕截图 参考链接 gt 该证书的颁发者钥匙串无效 https stackoverflow com questions 28890084 this certificate has an i
  • 您可以在 asp:Menu 控件中有 2 个指向同一页面的 url 吗?

    我有一个 asp Menu 它包含一个指向的顶级菜单项http www example com one aspx http www example com one aspx 当您将鼠标悬停在顶级菜单项上时 它会显示一个下拉菜单 其中一个选项
  • 强制绝对 div 听父母的填充?

    这就是我的 HTML CSS现在好像 这就是我的want它看起来像 如何修改下面的 HTML CSS 使其按照我想要的方式显示 HTML div div div class update div div div CSS update wid
  • Sphinx 无法导入任何内容

    我正在尝试使用 sphinx 来记录我的项目 我在所有模块和文件中使用了 autodoc 字符串 我使用sphinx apidoc自动生成rst我的代码的文件 到目前为止 一切都很好 问题是sphinx 无法导入我的任何模块 即使我已将我的
  • 读取 post 请求值 HttpHandler

    我正在编写一个小型 Java 应用程序 它实现了一个从客户端接收 http post 命令的 http 服务 我用来实现所有这些的类是 com sun net 中的 HttpHandler 和 HttpServer 包裹 现在我正在实施一个
  • 如何将类型“UnityEngine.Texture2D”转换为“UnityEngine.Sprite”?

    您好 我尝试将纹理 2D 转换为图像 并且我无法使用原始图像 因为分辨率在手机中不匹配 但问题是图像没有纹理元素 如何在Image Sprite中转换UnityEngine Texture2D Image Profile protected
  • 默认情况下“git update-index --assume-unchanged”

    git 有没有办法得到结果git update index assume unchanged FILE NAME默认情况下在一组给定的文件上 例如 一个 git config 文件列出了默认情况下不跟踪更改的文件 这样我们在克隆存储库后就不
  • Android View.getDrawingCache返回null,仅null

    有人可以试着向我解释一下为什么吗 public void addView View child child setDrawingCacheEnabled true child setWillNotCacheDrawing false chi
  • DICOM图像的窗宽和中心计算

    DICOM 图像 CT 中的 重新缩放截距 和 重新缩放斜率 是什么 如何计算窗口宽度和窗口中心 应用重新缩放截距和斜率将图像的像素值转换为对应用程序有意义的值 例如 原始像素值可以存储设备特定值 该值仅在由生成它的设备使用时才有意义 将重
  • E/SQLiteLog(1893): (14) 无法打开 [00bb9c9ce4] 第 30176 行的文件

    我在用本教程 http www reigndesign com blog using your own sqlite database in android applications 将数据库导入我的应用程序 它在 API 10 上运行良好
  • 我的 php 错误日志文件为空

    如果我在 php ini 文件中启用 error log 选项 那么我在配置的错误文件中什么也得不到 并且 加载页面时与服务器的连接已重置 在浏览器 火狐 中 如果我禁用它 我会在浏览器中显示错误 我在 Windows 7 系统 64 位上
  • 在 R 中提取名字

    假设我的数据框中有一个人名向量 names lt c Bernice Ingram Dianna Dean Philip Williamson Laurie Abbott Rochelle Price Arturo Fisher Enriq
  • C# 中的浮点数学一致吗?是真的吗?

    不 这不是另一个 为什么是 1 3 0 3 1 问题 我最近读了很多关于浮点的文章 具体来说 如何相同的计算可能会得到不同的结果在不同的架构或优化设置上 对于存储重播的视频游戏来说 这是一个问题点对点网络 https gamedev sta
  • GridView:单击按钮时获取行的数据键

    当我在具有 OnClick 事件的行中有一个按钮时 如何获取 GridView 行的 DataKeyName 的值 在按钮的 OnClick 事件中 我想获取按钮所在行的 DataKeyName 这可能吗