c# - 如何在代码隐藏文件中编写 Javascript?

标签 c# javascript .net asp.net visual-studio

下面是我的代码的快照,其中包括从 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 = ...;
}

当然你也可以使用aimg使用runat-Attribute

关于c# - 如何在代码隐藏文件中编写 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6872482/

相关文章:

c# - 将querystring参数传递给第二页

c# - C#百分比解码

javascript - 无法使 div block 在箭头按钮上移动

c# - 如何在 .NET 2.0 中获取 Environment.SpecialFolders.MyVideo 文件夹?

c# - Excel - 列宽与多个相加不匹配

php - 来自数据库的内容作为html形式的文本区域的默认值

javascript - 选择后锁定选择框?

c# - 如何在Win7中从C#.Net断开蓝牙设备的连接

.net - 如何将 .NET 控制台应用程序转换为 Winforms 或 WPF 应用程序

c# - Path.GetTempPath() 总是返回 %USERPROFILE%