将 JavaScript 添加到超链接控件
本文关键字:超链接 控件 添加 JavaScript | 更新日期: 2023-09-27 18:37:19
尝试在超链接单击事件上添加Javascript。在这里,我得到了超链接的名称,但是当我尝试单击超链接时没有任何反应。
tblCell = new HtmlTableCell();
List<string> liEmailIdsForCC = new List<string>();
if(some condition)
{
liEmailIdsForCC .add("someitem");
}
HyperLink hpOwnerName = new HyperLink();
hpOwnerName.Text += string.Format("({0}) ", "FullName");
string args = string.Format("{0},{1}"
, this
, liEmailIdsForCC
);
var onClick = String.Format("javascript:OnNameClick({0});return false;", args);
hpOwnerName.Attributes.Add("onclick", onClick);
tblCell.Controls.Add(hpOwnerName);
现在,在这个javascript中,我只是试图提醒列表中的第一项
function OnNameClick(sender, list) {
alert(li[0]);
}
客户端脚本将无法访问服务器端列表。我不知道liEmailIdsForCC.ToString会返回什么,但我不认为它不会是JavaScript可以使用的东西。如果你想访问字符串列表,我会把它转换为JavaScript数组。如下所示。虽然你可能应该逃离字符串。
tblCell = new HtmlTableCell();
List<string> liEmailIdsForCC = new List<string>();
if(some condition)
{
liEmailIdsForCC.add("someitem");
}
HyperLink hpOwnerName = new HyperLink();
hpOwnerName.Text += string.Format("(FullName) ", "FullName");
string listJSArray = string.Format("['{0}']", string.Join("', '", liEmailIdsForCC.ToArray());
var onClick = string.Format("OnNameClick(this, {0}); return false;", listJSArray);
hpOwnerName.Attributes.Add("onclick", onClick);
tblCell.Controls.Add(hpOwnerName);
// javascript code...
function OnNameClick(source, list) {
alert(list[0]);
}