Asp.Net Java Script基于循环代码更改Gridview行颜色

问题描述 投票:0回答:1

我想使用Java Script基于循环更改gridview1行的颜色。

但是当我单击“上传”按钮时,循环运行时没有任何颜色变化。

不知道我错过了什么。

Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpload.Click
    With GridView1
        For i = 1 To .Rows.Count - 1
            btnUpload.Attributes.Add("onClick", "ChangeColor('" + "GridView1','" + (i).ToString() + "')")
        Next
    End With
End Sub



<script type="text/javascript">
        function ChangeColor(GridViewId, SelectedRowId) {
            var GridViewControl = document.getElementById(GridViewId);
            if (GridViewControl != null) {
                var GridViewRows = GridViewControl.rows;
                if (GridViewRows != null)
                {
                    var SelectedRow = GridViewRows[SelectedRowId];
                    //Remove Selected Row color if any
                    for (var i = 1; i < GridViewRows.length; i++) {
                        var row = GridViewRows[i];
                        if (row == SelectedRow) {
                            //Apply Yellow color to selected Row
                            row.style.backgroundColor = "#ffffda";
                        }
                        else {
                            //Apply White color to rest of rows
                            row.style.backgroundColor = "#ffffff";
                        }
                }

                }
            }

        }
</script>
javascript asp.net visual-studio-2010 visual-studio-2012
1个回答
0
投票

您可以使用以下代码。无需在OnRowDataBound事件中附加OnClick。这假设上传按钮是Button,而不是LinkBut​​ton。但您可以轻松修改脚本。

<script type="text/javascript">
    $(document).ready(function () {
        $('#<%= GridView1.ClientID %> input[type="submit"]').click(function () {
            $(this).closest('tr').css('background-color', '#00ff00');
        });
    });
</script>
© www.soinside.com 2019 - 2024. All rights reserved.