gpt4 book ai didi

c# - GridView 中 DropDownList 的动态名称

转载 作者:行者123 更新时间:2023-11-30 18:02:58 25 4
gpt4 key购买 nike

我有一个 asp.net 页面,我在其中使用带有自定义分页的 gridView,并且在 gridview 中有一个 DropDownList 控件和基于每行控件的 javascript,它执行表单提交并且必须引用一个唯一的 DropDownList 名称这是行。

通常,如果我需要操作控件,我习惯于使用“on databinding to row”类型的事件来“FindControl”。但在这种情况下我不能这样做,因为客户端脚本只会在呈现后引用此控件。

在放置 DropDownList 的 GridView 模板区域,我尝试输出类似的东西:

... ID='<%# Eval("myID") + "_ddl" %>' ...

..只是举个例子,但是编译器/解析器说“吠,吠,咆哮吠”你不能这样做,因为不能像这样分配 DopDownList 的 id。我还尝试在行数据绑定(bind)上分配控件的 CLientID,但它也不允许这样做,因为这是一个只写属性。

是否有任何简单的方法来实际控制 ddl 名称?我真的想避免改变正在发生的事情的结构。我不需要找到 ddl 名称,实际上我需要使每一行中的每个 ddl 都是唯一的。 onclick 实际上来自其行中的另一个控件。不幸的是,JavaScript 是内联的。问题是 javascript 正在寻找具有唯一名称的 ddl,并且在 GridView 中,ddl 的名称都是相同的。我的问题是如何在 GridView 中为 ddl 强制使用唯一的名称 ID。这个可以吗。它不允许我使用上面提到的方法。

这方面的一些背景是,这些数据曾经位于没有分页的普通表格中。我不得不将它移到 gridview 中并进行自定义分页。

非常感谢您的建议..谢谢!

最佳答案

我不确定您要解决哪个问题。可能是,我在下拉列表中,我需要找到 ClientId。然后使用 Chris Mullins 对 How do I find the Client ID of control within an ASP.NET GridView? 的回答中的答案。

使用 '<%# ((GridViewRow)Container).FindControl("ddlName").ClientID %>'

如果我需要从控件外部获取下拉列表,那么您可以按照 How to get cell value of gridview using JQUERY 中的描述循环遍历网格。

关于c# - GridView 中 DropDownList 的动态名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7700777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com