我需要从后面的c#代码执行Java脚本函数。使用Asp.net服务器控制Repeater并在条件为true时检查条件需要运行java脚本函数,这将转换超链接显示块这是我的javascript函数
function MyFunction(username) {
document.getElementById("hyp").style.display = "block";
}
这是我的Asp.net代码之后的条件,如果是真的我调用c#代码后面的方法writeText():
<%# Eval("part2").ToString() == "part2" ? writeText(Eval("Albumtitle").ToString(), Eval("Albumtitle").ToString(), inc.ToString()) : writeLink(Eval("Albumtitle").ToString(), Eval("Albumtitle").ToString())%>
protected string writeText(string PageDataId, string AlbumId, string a)
{
ClientScript.RegisterStartupScript(this.GetType(), "hwa", "MyFunction('Checkjj');", true);
string html = "";
html += "";
return html;
}
这个c#调用javascript函数显示html锚点到开头没有显示的块
这是锚标记
<a id="hyp" name="hyp" href="#" class="lightbox<%=inc+"b" %>">Part II</a>
答案 0 :(得分:0)
使用您的html:<a id="hyp" name="hyp" ...
添加属性runat="server"
。然后在服务器端,您可以访问该对象,就像它是服务器控件一样。
无需在服务器端执行Javascript即可执行所需的操作。
类似于&#34; ItemDataBound&#34;转发器的事件:
void MyRepeater_ItemDataBound(Object Sender, RepeaterItemEventArgs e) {
string someVar = "someValue" ;
((HtmlAnchor)e.Item.FindControl("hyp")).Attributes.Add ("css", "lightbox" + someVar);
}
为了使用此活动,请不要忘记添加事件和runat服务器属性:
<asp:Repeater ID="MyRepeater" runat="server" OnItemDataBound="MyRepeater_ItemDataBound">
<a id="hyp" name="hyp" href="#" runat="server">Part II</a>
</asp:Repeater>
您可以在此博客中找到帮助: