GridView的雙擊事件在加載的時候就自動執行,如何不自動執行
執行查詢後,會自動跳出雙擊的下載,如何 設置才能不會在生成的時候自動執行雙擊事件,等到真的雙擊才執行
雙擊事件注視掉之後可以正常查詢
代易做图如下
<filedown() 是下載事件>
protected override void Render(HtmlTextWriter writer)
{
// GridView
foreach (GridViewRow row in gviData.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
// 单击事件,为了响应双击事件,需要延迟单击响应,根据需要可能需要增加延迟
// 获取ASP.NET内置回发脚本函数,返回 __doPostBack(<<EventTarget>>, <<EventArgument>>)
// 可直接硬编码写入脚本,不推荐
row.Attributes["onclick"] = String.Format("javascript:setTimeout(\"if(dbl_click){{dbl_click=false;}}else{{{0}}};\", 1000*0.3);", ClientScript.GetPostBackEventReference(gviData, "Select$" + row.RowIndex.ToString(), true));
// 双击,设置 dbl_click=true,以取消单击响应
row.Attributes["ondblclick"] = String.Format("javascript:dbl_click=true;window.open('" + filedown() + "');", gviData.DataKeys[row.RowIndex].Value.ToString());
}
}
base.Render(writer);
} --------------------编程问答-------------------- GridView1_RowDataBound
这个里注册双击。 --------------------编程问答-------------------- row.Attributes["ondblclick"]="function(){代码}"; --------------------编程问答-------------------- 事件写错地方了,应该在RowDataBound事件中写 --------------------编程问答-------------------- protected void gviData_RowDataBound(object sender, GridViewRowEventArgs e)
{
foreach (GridViewRow row in gviData.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
row.Attributes["ondblclick"] = String.Format("javascript:dbl_click=true;window.open('" + filedown() + "');", gviData.DataKeys[row.RowIndex].Value.ToString());
}
}
}
一樣,是不是事件寫錯了還是別的問題 --------------------编程问答-------------------- foreach (GridViewRow row in gviData.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
row.Attributes["ondblclick"] = String.Format("javascript:dbl_click=true;window.open('" + filedown() + "');", gviData.DataKeys[row.RowIndex].Value.ToString());
}
}
這個雙擊事件有沒有寫錯
补充:.NET技术 , ASP.NET