如何在没有"runat=server"
属性的ASPX页面中循环访问html控件? 由于对它们使用了代码块和动态变量,我无法添加该属性:
<input lang='<%= language.ID %>' checked='<%= check(x) %>' />
如何在没有
"runat=server"的 ASPX 页面中循环访问 html 控件......
取决于你想做什么。
正如其他答案所说,归根结底,它都是 HTML,因此
Form
将在某处submit
(默认情况下是ASP.Net Web Forms
HTTP POST
,因此Postback
),您可以在服务器端循环HttpRequest.Form
(也称为"代码隐藏")。如前所述,最后所有内容都呈现为标准 HTML 元素,您可以提供
id
或class
并"循环"它们并在前端执行您想要的操作。这里有一个简单的例子:
var eles = document.getElementsByClassName('inputs');
var count = eles.length;
var str = "there are " + count + " elements:<br>";
for (var i = 0; i < count; i++) {
str = str + "name: " + eles[i].name + " id: " + eles[i].id + "<br>";
}
var result = document.getElementById("result");
result.innerHTML= str;
<input name="foo" lang='some-server-generated-string-1' id="ele1" class="inputs" />
<input name="bar" lang='some-server-generated-string-2' id="ele2" class="inputs" />
<p id="result"></p>
呵呵。