gridview行点击事件提示缺少对象

7年 2013-12-24 01:29:03
现在的想法是当在某页点击按钮时,弹出新页面,在新页面中点击gridview中的一行。将这一行数据返回到父页面中。我在gridview加了一个checkbox的列。现在点击checkbox已经可以实现了,但是当点击gridview的行时,提示缺少对象。代码:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string username = ((System.Data.DataRowView)(e.Row.DataItem)).Row["Fusername"] as string;

string userpassword = ((System.Data.DataRowView)(e.Row.DataItem)).Row["Fuserpassword"] as string;

string userflag = ((System.Data.DataRowView)(e.Row.DataItem)).Row["fuserflag"] as string;

e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#8EC26F'");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
//设置悬浮鼠标指针形状为"小手"
e.Row.Attributes["style"] = "Cursor:hand";

e.Row.Attributes.Add("onClick", "getuserInfo('" + username + "','" + userpassword + "','" + userflag + "')");
//e.Row.Attributes.Add("onClick", "test()");
}
}



function getInfo(Fusername, Fuserpassword, Fuserflag) {
alert(Fusername);
window.opener.getuserInfo(Fusername, Fuserpassword, Fuserflag);
window.close();
}

...全文
206 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
t101lian 2013-12-25
  • 打赏
  • 举报
回复
引用 20 楼 zzflover 的回复:
我用另一种方法解决了,

        function gridRowClick(obj) {
            var cb = $(obj).find('input[type=radio]');
            cb.get(0).onclick();
        }
e.Row.Attributes.Add("onClick", "gridRowClick(this)");
后台调用这个方法,此方法中执行radio的操作
不错, 收藏啦,
  • 打赏
  • 举报
回复
也行 来点分
7年 2013-12-24
  • 打赏
  • 举报
回复
我用另一种方法解决了,

        function gridRowClick(obj) {
            var cb = $(obj).find('input[type=radio]');
            cb.get(0).onclick();
        }
e.Row.Attributes.Add("onClick", "gridRowClick(this)");
后台调用这个方法,此方法中执行radio的操作
  • 打赏
  • 举报
回复
其实你要看html源码的 后台类绑定的应该是失效了 你用浏览器的F12把这个方法的参数手动签写下 然后点击看看
7年 2013-12-24
  • 打赏
  • 举报
回复
我在后台的绑定事件已经加单引号了。'这个就是单引号
  • 打赏
  • 举报
回复
getuserInfo 目测要个这个方法的参数带上 单引号
  • 打赏
  • 举报
回复
getuserInfo 那就是这个方法报错了把 你把 input type="radio" 的屏蔽掉在试试
  • 打赏
  • 举报
回复
可以弹出alert()?
7年 2013-12-24
  • 打赏
  • 举报
回复
引用 12 楼 Hsuifengershi 的回复:
input type="radio" 先看看这个的click有问题没
这个没问题。
7年 2013-12-24
  • 打赏
  • 举报
回复
引用 11 楼 fate1987 的回复:
tr里德onClick改成小写onclick试试
没用的
  • 打赏
  • 举报
回复
input type="radio" 先看看这个的click有问题没
火拼阿三 2013-12-24
  • 打赏
  • 举报
回复
tr里德onClick改成小写onclick试试
7年 2013-12-24
  • 打赏
  • 举报
回复
屏蔽掉?屏蔽掉以后那gridview的行点击事件在哪啊?
  • 打赏
  • 举报
回复
你先屏蔽掉试试
7年 2013-12-24
  • 打赏
  • 举报
回复
添加的事件当然有了啊
  • 打赏
  • 举报
回复
先把tr里面的click屏蔽掉试试
  • 打赏
  • 举报
回复
骚年 你的tr里面在么有onclick
7年 2013-12-24
  • 打赏
  • 举报
回复
getuserInfo的alert没执行啊。。。
bdmh 2013-12-24
  • 打赏
  • 举报
回复
那应该是getuserInfo中出问题了,或者username和userpassword为空
7年 2013-12-24
  • 打赏
  • 举报
回复
onclick的代码:

<tr onmouseover="c=this.style.backgroundColor;this.style.backgroundColor='#8EC26F'" onmouseout="this.style.backgroundColor=c" onClick="getuserInfo('stezhao','123','')" style="Cursor:hand">
			<td>
                        <input type="radio" id="radChange" name="radChange" onclick="getInfo('stezhao','123','True')" />
                    </td><td>stezhao</td><td>123</td><td>True</td>
		</tr>
加载更多回复(2)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧