分享

使用javascript动态调用样式表代码

 悟静 2013-03-02
文章使用了多种动态调用样式表的方法。首先你可以学习到如何使用JavaScript代码来动态调用的方法,
然后我们会探索如何从数据库中读取样式表代码。文章还提供了一些技巧来进一步提高样式表代码。
还提供了一个完整的示例程序和有关源码。

说明
    许多的人都想实现在用户登陆后的页面拥有自己的样式。我的做法是:首先我在数据库中存储了许多的样式代码,然后将他们拷贝、粘贴到内容的样式表中。然后我从数据库中读取出数据,讲数据赋值给变量,插入到我的动态页面中。

(1)动态调用JavaScript代码。   
    动态调用JavaScript代码有两种有效方法。

Listing 1
Page.ClientScript.RegisterStartupScript(GetType(Page), "item1", script)

Listing 2
ScriptManager.RegisterClientScriptBlock(Page, GetType(Page), "item1", script, True)

如果你创建的是AJAX enabled website或者使用了ScriptManager时,使用该方法。

Listing 3
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>

两种方法不同的是,第一种方法是将Script代码输出到页面的最下面。第二种方法是讲代码输出到<BODY>标签后面。
第二种不同的是,第一种方法是必须在代码中增加一个<script>标签,第二种方法会自动为你添加标签。

假设我的代码就像下面这样。

Listing 4

protected void Page_Load(object sender, EventArgs e)
{
    string script = "";
    if(!IsPostBack)
    {
        script = @"<script type='text/javascript'><!-- alert('Alert message two'); --></script>";
        Page.ClientScript.RegisterStartupScript(GetType(Page), "focus4", script);

        script = @"alert('Alert message one');";
                    ScriptManager.RegisterClientScriptBlock(Page, GetType(Page), "item11", script, True)
    }
}

然后我们有两个文本框;第一个消息框显示"alert message one",虽然它第二个调用。
并且我们把第二个文本框显示为"Alert message two"。
你可能会把你的提示信息硬编码在页面的<BODY>内。


Listing 5

<script type="text/javascript">
<!--
alert('in between');
-->
</script>
这个消息将会显示在第一个方法和第二个方法的中间。并且这个消息框将使用该代码在页面加载的时候弹出来。

Listing 6

Page.ClientScript.RegisterStartupScript

这个方法调用的消息框执行页面加载后,在Listing 7 之前弹出。

Listing 7

ScriptManager.RegisterClientScriptBlock

第三种执行动态执行你的代码的方式是这样。

Listing 8
<head>
<title><% =titelpage%></title>
<% =MyNewStyle%>
</head>
该代码是在页面中必须填充变量MyNewStyle。

Listing 9

    protected string MyNewStyle = "";
    protected string titlepagina = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        titelpagina = "new title";
        MyNewStyle = @"<style type='text/css'>TD{color:orange;border:1;" +
            @"border-color:black;border-style:solid;}</style>";
    }

这是一种简单的动态填充样式的方法。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多