Javascript 基于代码隐藏循环更改Gridview行颜色的Asp.NETJava脚本
我想使用Java脚本更改基于循环的gridview1行的颜色 但是当我点击上传按钮时,循环运行时没有任何颜色变化 不知道我错过了什么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
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中,并逐个处理。这似乎是一个乏味的过程:(