在客户端按钮单击事件上,我想获取放置在“网格视图”的“项目”模板中的控件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)
答案 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这样简单的东西。
让我知道我能否进一步提供帮助。