【发布时间】:2011-05-22 23:09:57
【问题描述】:
下午好,
我有一个包含许多 div 元素的 html aspx 页面。这些 div 元素为一个网格。网格的大小在客户端选择,div元素通过请求在服务器端生成。生成的 div 元素是这样的:
<div id="cell_0_0"></div>
<div id="cell_0_1"></div>
<div id="cell_0_2"></div>
<div id="cell_0_3"></div>
<div id="cell_1_0"></div>
<div id="cell_1_1"></div>
etc...
etc...
当网格中填充了来自用户的整数值时,这些值可以被服务器访问,因此服务器需要获取这些元素的值。这很简单。
int value1 = cell_0_0.innerHTML;
int value2 = cell_0_1.innerHTML;
问题是...服务器生成的 div 数量是在运行时决定的。 (在客户端输入上,例如 4x4、5x5 .. 9x9 网格)
所以 div 的范围可以从 div id="cell_0_0" 到 div id="cell_4_4" 或从 cell_0_0 到 cell_9_9。
现在我可以在服务器上拥有多个函数,例如:(伪代码)
if grid is 5x5
int value5x5-1 = cell_0_0.innerHTML;
... ...
int value5x5-25 = cell_5_5.innerHTML;
if grid is 9x9
int value9x9-1 = cell_0_0.innerHTML;
... ...
int value9x9-81 = cell_9_9.innerHTML
问题是......这些功能将是巨大的!对于一个 9x9 的网格,有 81 个单元格,所以这就是 81 个程序分配!
在 javascript 中,我使用 for 循环遍历单元格
for (var i = 0; i < gridSize; i++) {
for (var j = 0; i < gridSize; j++) {
document.getElementById( "cell_" + i + "_" + j );
}
}
// as you can see the cell ids are constructed as the loop progresses, because the parameter is a string
最后...问题是...有什么办法...我可以让服务器端 C# 代码根据单元格的数量动态迭代单元格变量。
如果不是...解决此类问题的最佳方法是什么?
抱歉,解释太长了,想确保您确切知道我在说什么!
我知道这是一个奇怪的问题,如果有任何混淆,请见谅:)
谢谢, 亚历克斯
【问题讨论】: