使用jQuery或javascript在GridView的TemplateField中找到控件

时间:2019-04-15 22:16:20

标签: c# jquery asp.net gridview itemtemplate

在客户端按钮单击事件上,我想获取放置在“网格视图”的“项目”模板中的控件ID。我试过了这段代码,但是没有用。谢谢

color

这是Gridview

const array = [{"item":"pen","madeIn":"US","color":"blue"},{"item":"pen","madeIn":"US","color":"white"},{"item":"pen","madeIn":"China","color":"red"},{"item":"pen","madeIn":"China","color":"white"}]

const result = Object.values(
  array.reduce((r, o) => {
    const key = `${o.item}-${o.madeIn}`
    
    if(!r[key]) r[key] = { ...o, color: [] }
    
    r[key].color.push(o.color)
    
    return r;
  }, {})
)

console.log(result)

1 个答案:

答案 0 :(得分:0)

感谢您包含GridView示例。现在我可以看到您的尝试了,我为您提供了一个更好的答案。

首先,对按钮模板稍作更改,将extract(year from sysdate) - extract(year from st_birthdate) - case when to_char(sysdate, 'mmdd') < to_char(st_birthdate, 'mmdd') then 1 else 0 end as "Age" 更改为CommandArgument,由于您使用的是此按钮客户端,而不是发回服务器,因此您可以像这样简化它:

OnClientClick

我让click事件调用了您的JavaScript函数,它发送了服务器端已解析ID的参数。注意,我先减去1。这是因为服务器端ASP.Net Eval函数给出的ID从1开始。但是,为您的文本输入元素生成的每个ID均以零为底。

现在查看下面的JavaScript函数。

<asp:Button ID="btn" Text='btn' OnClientClick='<%# Eval("ID", "YourJavascriptFunction({0} - 1); return false;") %>' runat="server" CausesValidation="false" />

我省略了一个jQuery示例,因为这个querySelector命令几乎可以在包括IE8及更高版本的所有浏览器中使用,因此,您不需要jQuery这样简单的东西。

让我知道我能否进一步提供帮助。