如何为gridview内的标签指定值。我可以检索标签的值,但我无法在javascript函数中为Gridview内的标签赋值。 任何人都帮助我。
答案 0 :(得分:0)
因为Label位于GridView中,所以范围仅限于GridView,并且在页面的其余部分无法访问。
如果查看HTML,您会看到标签的ID如下所示:
<span id="GridView1_Label1_10">Label</span>
GridView,Label和行号的ID的组合。因此,您需要相应地更改JavaScript。
答案 1 :(得分:0)
通常,要选择runat服务器标签,可以将querySelector()与属性id结合使用。
var grid = document.getElementById(&#34;&lt;%= GVViewStudents.ClientID%&gt;&#34;);
这会变成:
var grid = document.querySelector("[id$=id of the element]")
因此,我们假设有以下内容:
<asp:label runat = 'server' id = 'myfunnylabel' />
要在Javascript中检索该标记,可以执行以下操作:
var tLabel = document.querySelector("[id$='myfunnylabel']")
如果该标签位于可重复的容器中,例如gridview或repeater,则可以获得所有具有类似尝试的容器的列表:
var tLabels = document.querySelectorAll("[id*='myfunnylabel']")
https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector
答案 2 :(得分:0)
请尝试此操作 -
function assignValueToLabel()
{
var grid = document.getElementById("<%=grv.ClientID%>");
var rowIndex = 3; //this is the index of row of gridview in which you change the value of label
var cellIndex = 0; // this is the index of cell of gridview in which cell you pass the label control
var newValue = grid.rows[rowIndex].cells[1].innerHTML; // this is the value which you want to assign to label.
grid.rows[rowIndex].cells[cellIndex].getElementsByTagName("span")[0].innerHTML = newValue;
return false;
}
</script>