如何为gridview内的标签赋值?

时间:2016-12-08 11:30:14

标签: javascript asp.net

如何为gridview内的标签指定值。我可以检索标签的值,但我无法在javascript函数中为Gridview内的标签赋值。 任何人都帮助我。

3 个答案:

答案 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

querySelector, wildcard element match?

答案 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>