动态添加客户端脚本到asp.net页面

Asked
Viewd3193

0

我想将JavaScript动态添加到asp.net页面。 谁能指出我的工作榜样? 我知道可以通过使用Page.ClientScript.RegisterClientScriptBlock来完成 但我不知道要使用它。

2 个答案

1

MSDN >

这是MSDN链接

 if (!this.Page.ClientScript.IsClientScriptBlockRegistered(typeof(Page), "Utils"))
        {
            string UtilsScript = ResourceHelper.GetEmbeddedAssemblyResource("Utils.js");

            this.Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "Utils", UtilsScript, true);
        }
 

我添加了上面的示例以提供帮助,

在这里,我们测试脚本是否已经注册(使用我们注册的dkey类型)从嵌入式资源中以字符串形式获取脚本,然后注册(最后一个参数true告诉代码呈现Script标签)。

希望这会有所帮助

P

  • 第一个是将脚本“绑定”到的类型,在此例中,第二个是键,因此您可以在添加脚本(复杂的多控件环境)之前测试脚本是否存在。使用Pag.ClientScript.IsClientScriptBlockRegistered(type,key)使用相同的类型和用于注册的密钥。

    PharabusNovember 13, 2009 20:40
  • 您能解释一下RegisterClientScriptBlock的第一个和第二个参数吗?

    Novice DeveloperNovember 13, 2009 20:36
1

将下拉列表的值移动到文本字段的示例。ID参数是下拉列表和文本框的Object.ClientID属性。

 Private Sub RegisterClientDropDownToTextBox(ByVal functionName As String, ByVal dropDownId As String, ByVal textBoxId As String)
    Dim javascriptFunction As String = "function " & functionName & "() {" & _
                                       "document.getElementById('" & textBoxId & "').value = document.getElementById('" & dropDownId & "').value;" & _
                                       "}"
    Dim javascriptWireEvent As String = "document.getElementById('" & dropDownId & "').onclick = " & functionName & ";"
    Me.ClientScript.RegisterClientScriptBlock(Me.GetType(), functionName & "_ScriptBlock", javascriptFunction, True)
    Me.ClientScript.RegisterStartupScript(Me.GetType(), functionName & "_Startup", javascriptWireEvent, True)
End Sub