C# 在不使用ID的网页上设置值(ID更改时)
我想使用windows应用程序窗体和GetElementById以及 SetAttribute(“值”,desiredValue) 我创建了一个命令列表,可在网页中导航并输入值:C# 在不使用ID的网页上设置值(ID更改时),c#,webpage,getelementbyid,setvalue,C#,Webpage,Getelementbyid,Setvalue,我想使用windows应用程序窗体和GetElementById以及 SetAttribute(“值”,desiredValue) 我创建了一个命令列表,可在网页中导航并输入值: currentCommands.Enqueue(new Command("setvalue", "45", "setPublishMin")); 而“setPublishMin”通过commandHandler类和csv文件链接到网页上文本框的ID 身份证是这样的 id=“WebgeAdminIteme\u组件列表
currentCommands.Enqueue(new Command("setvalue", "45",
"setPublishMin"));
而“setPublishMin”通过commandHandler类和csv文件链接到网页上文本框的ID
身份证是这样的
id=“WebgeAdminIteme\u组件列表\u ctl02\u可扩展内部块\u可扩展
动作集“]
填写文本框并添加后,选择另一个要传递不同值的文本框,ID将相同,只是ID中的“ctl02”更改为“ctl04”等。
因此,我想知道是否有比使用IDs传递值更简单的方法,您可以尝试使用
静止的
此选项强制控件的ClientID直接使用其ID值。根本不应用命名容器命名,最终得到干净的客户端ID:
<inputname="ctl00$content$txtName"type="text"id="txtName" />
如果您想为从“ctl02”到“ctl04”的所有输入设置相同的值,那么您也可以通过类来实现。为所有控件指定相同的类,并使用该类设置值
var elms = document.getElementsByClassName('class-name')
for (var i = 0; i < elms.length; i++) {
elms[i].setAttribute("value", "foo");
}
var elms=document.getElementsByClassName('class-name'))
对于(变量i=0;i
您正在使用哪些元素?顺便说一句,它是ASP.NET吗?可以给它一个类并使用它,这不是最好的方法,但应该有效。我已经编辑了这个问题。希望现在更好。不幸的是,不同的输入值不同。您使用ASP.NET吗?你能分享一些示例代码吗?我使用的是windows应用程序表单。我也编辑了这篇文章。我希望它现在更有意义
var elms = document.getElementsByClassName('class-name')
for (var i = 0; i < elms.length; i++) {
elms[i].setAttribute("value", "foo");
}