我有一个 html div 元素,其中包含多个 div,其值我想放入数组服务器端!
我的 html div 看起来像:
<div id="clientGrid" runat="server">
<div id="cell_0_0" runat="server" class="box" onclick="clicked(this)">2</div>
<div id="cell_0_1" runat="server" class="box" onclick="clicked(this)">1</div>
<div id="cell_0_2" runat="server" class="box" onclick="clicked(this)">3</div>
<div id="cell_0_3" runat="server" class="box" onclick="clicked(this)">4</div>
<div id="cell_1_0" runat="server" class="box" onclick="clicked(this)">3</div>
<div id="cell_1_1" runat="server" class="box" onclick="clicked(this)">2</div>
<div id="cell_1_2" runat="server" class="box" onclick="clicked(this)">4</div>
<div id="cell_1_3" runat="server" class="box" onclick="clicked(this)">1</div>
<div id="cell_2_0" runat="server" class="box" onclick="clicked(this)">4</div>
<div id="cell_2_1" runat="server" class="box" onclick="clicked(this)">3</div>
<div id="cell_2_2" runat="server" class="box" onclick="clicked(this)">2</div>
<div id="cell_2_3" runat="server" class="box" onclick="clicked(this)">1</div>
</div>
我希望这些 div 的值进入数组服务器端。我当前的代码如下所示:
for (int i = 0; i < _grid.getGridSize(); i++)
{
for (int j = 0; j < _grid.getGridSize(); j++)
{
string divId = string.Format("cell_{0}_{1}", i.ToString(), j.ToString());
Control div = clientGrid.findControl(divId);
//more code underneath
}
}
所以div id是由字符串格式生成的,没问题......
but the clientGrid.findControl always = null
!即使我将刺直接放入构造函数中,例如clientGrid.findControl("cell_0_0");
它仍然返回NULL!这怎么可能?
这是我的理解findControl
方法查找具有字符串 id 的服务器控制元素?
我无法像这样直接访问子 divcell_0_0.clientID
因为子div是由服务器在运行时生成的。
页面加载时,该函数运行...
for (int i = 0; i < _grid.getGridSize(); i++)
{
for (int j = 0; j < _grid.getGridSize(); j++)
{
returnElement += " <div ";
returnElement += "id=\"cell_" + i + "_" + j + "\" ";
returnElement += "runat=\"server\" ";
returnElement += "tabindex=\"-1\" ";
returnElement += "class=\"box\" ";
returnElement += "onclick=\"clicked(this);\" ";
returnElement += "onkeypress=\"changeValue(event, this);\" ";
returnElement += "style=\"top:" + top + "%; left:" + left + "%;\">";
returnElement += test[i, j];
returnElement += "</div>\n ";
left = left + 20;
}
left = 0;
top = top + 20;
}
return returnElement;
test[] 是一个包含整数值的二维数组。然后通过 clientGrid.innerHtml = allMyDivs 将这些 div 放入 clientGrid
然后,用户将这些 div 的值编辑为他们想要的任何内容,然后当用户单击按钮时,这些 div 的值需要以某种方式返回到服务器端代码中,以便我可以处理它们。
clientGrid.control.count = 0 ... ???很明显...对于asp,这些div元素不存在...对于asp.net...clientGrid div内没有任何内容...但是...我的chrome浏览器上的检查元素说否则!这是怎么回事??