Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于代码隐藏循环更改Gridview行颜色的Asp.NETJava脚本_Javascript_Asp.net_Visual Studio 2010_Visual Studio 2012 - Fatal编程技术网

Javascript 基于代码隐藏循环更改Gridview行颜色的Asp.NETJava脚本

Javascript 基于代码隐藏循环更改Gridview行颜色的Asp.NETJava脚本,javascript,asp.net,visual-studio-2010,visual-studio-2012,Javascript,Asp.net,Visual Studio 2010,Visual Studio 2012,我想使用Java脚本更改基于循环的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 btnUploa

我想使用Java脚本更改基于循环的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>
Protected Sub btnUpload\u Click(ByVal sender作为对象,ByVal e作为System.EventArgs)处理btnUpload。单击
使用GridView1
对于i=1到.Rows.Count-1
btnUpload.Attributes.Add(“onClick”、“ChangeColor”(“+”GridView1“,“+(i).ToString()+”))
下一个
以
端接头
函数ChangeColor(GridViewId,SelectedRowId){
var GridViewControl=document.getElementById(GridViewId);
if(GridViewControl!=null){
var GridViewRows=GridViewControl.rows;
if(GridViewRows!=null)
{
var SelectedRow=GridViewRows[SelectedRowId];
//删除选定的行颜色(如果有)
对于(var i=1;i
您可以使用以下代码。无需在OnRowDataBound事件中附加OnClick。这假定上载按钮是一个按钮,而不是一个链接按钮。但是您可以轻松地修改脚本

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

$(文档).ready(函数(){
$('#输入[type=“submit”]')。单击(函数(){
$(this).closest('tr').css('background-color','00ff00');
});
});

点击
btnUpload
按钮可能会触发回发,因此使用javascript对GridView所做的任何更改都将丢失。那么如何实现这一点呢?我只想通过突出显示行来显示正在处理的行。您可以给行上色,但颜色会很快消失,因此最多只能得到闪烁效果。我知道,但代码将与SQL server交互以更新记录,因此我认为它将运行缓慢。请注意,标记描述中说“不要在有关仅在Visual Studio中编写的代码的问题上使用此标记。”请删除您的问题。谢谢您的代码,但我找不到gridview行号(来自循环)在上面的JS中。如果我缺少任何内容,请更正我。您不需要它。脚本会找到单击的按钮的
,并对其进行着色。但是用户不会单击任何内容。因为我只会循环Gridview行单元格,并在SQL Server中插入数据。因此不会发生任何选择过程在code.Ah中,这就是你的意思。这根本不能满足你的需要。在所有支持的代码完成(所有文件都已处理)之前,UI不会得到更新。如果你想逐行更新,你需要将带有Ajax的文件发布到API中,并逐个处理。这似乎是一个乏味的过程:(