下面是我的代码的快照,其中包括从 gridview 的项目模板中获取的 javascript。它还放置了一个图像控件。
<ItemTemplate>
<a href="javascript:ShowChildGrid('div<%# Eval("ID#") %>');">
<img id="imgdiv<%# Eval("ID#") %>" alt="Click" border="0" src="plus.gif" />
</a> </ItemTemplate>
JS函数接受一个参数作为ID。现在如何在代码隐藏文件中编写 JS?
这是必需的,因为我需要根据 gridview 的行数据绑定(bind)事件中的某些条件显示图像。
P.S.:我知道注册启动脚本和客户端脚本,但我不确定它们如何满足我的条件。
最佳答案
如果你想在 RowDataBound-event 中为 gridview 的每个项目设置 JS 代码,你可以添加一个 Hyperlink-control 到你的 ItemTemplate 并将这个控件的 NavigationUrl-property 设置为 JS
<ItemTemplate>
<asp:Hyperlink runat="server" id="lnk" ImageUrl="..."/>
...
</ItemTemplate>
RowDataBound 事件处理程序:
...
if (e.Row.RowType != DataControlRowType.DataRow)
return;
string js = String.Format("javascript:ShowChildGrid('div{0}');", rowId);
var lnk = e.Row.FindControl("lnk") as Hyperlink;
if(lnk!=null)
{
lnk.NavigationUrl = js;
lnk.ImageUrl = ...;
}
当然你也可以使用a
和img
使用runat
-Attribute
关于c# - 如何在代码隐藏文件中编写 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6872482/