繁体   English   中英

从.net代码背后执行Javascript触发器

[英]Executing Javascript trigger from .net codebehind

我正在尝试从.net代码背后执行触发器。 通常发生的情况是,您单击突出显示该选项卡的选项卡,然后执行一些JavaScript以使某些div可见。

目前,我编写的代码将突出显示选项卡,但div却不可见。

 if (Request.QueryString["ID"] == "56")
        {
            ltrClassName.Text = "active";

            StringBuilder jscript = new StringBuilder();
            jscript.Append("<script type=\"text/javascript\">$(document).ready(function PremiumServicesClick() {");
            jscript.Append("$('#PremiumServicesTab').trigger('click');");
            jscript.Append("})");
            jscript.Append("</script>");
        }
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "0", "PremiumServicesClick()", true);

我在Page_Load事件中运行此代码。

您应该在javascript而不是服务器端处理该click事件。 如果确实必须执行回发,则可以在.aspx文件中放入一些代码,该文件将根据需要将所需属性设置为html元素。

如果选项卡和/或div属于服务器端控件,则可以肯定地可以相应地编辑这些控件的属性。

编辑(要求的示例):

<div style="height:100px; width:100px; <%=Page.IsPostBack ? "background-color: red;" : "" %>">

</div>

上面的代码仅在页面加载是由回发引起的情况下才将div变为红色。 当然,您可以使用任何适合您的条件以及您添加/替换的属性来替换条件。 这样,您的html就会受到服务器端变量的限制(无论您要使用哪个,但都可以)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM