从.net codebehind执行Javascript触发器

时间:2015-02-06 18:37:30

标签: javascript c#

我正在尝试从.net codebehind执行触发器。 通常发生的是,您单击突出显示选项卡的选项卡,然后执行一些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事件中运行此代码。

1 个答案:

答案 0 :(得分:0)

您应该在javascript中处理该点击事件客户端,而不是服务器端。 如果你真的必须做回发,你可以在.aspx文件中放入一些代码,该文件根据需要为html元素设置所需的属性。

如果您的标签和/或div属于服务器端控件,那么您肯定可以相应地编辑这些控件的属性。

编辑(请求的示例):

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

</div>

只有当页面加载是由回发引起时,上面的代码才会将div颜色变为红色。当然,您可以将条件替换为适合您的任何内容以及您添加/替换的属性。这样,你的html就会受到服务器端变量的限制(无论你想要什么,你想要的)。