我如何修复RegisterClientScriptBlock是Visual Studio中的过时警告

Jam*_*mes 5 javascript vb.net asp.net visual-studio-2010

我在我的vb.net项目中有以下Sub Routine运行良好,但我不断得到构建警告:

'Public Overridable Sub RegisterClientScriptBlock(key As String,script As String)'已废弃:'建议的替代方法是ClientScript.RegisterClientScriptBlock(类型类型,字符串键,字符串脚本).访问http://go.microsoft.com/fwlink/?linkid=14202

我认为如果我使用正确的方法最好.我已按照此处的说明进行操作 - http://msdn.microsoft.com/en-us/library/system.web.ui.page.registerclientscriptblock.aspx但它没有多大意义.任何帮助,将不胜感激.

Protected Sub DBC_MEMBER_IsActive_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DBC_MEMBER_IsActive.CheckedChanged
        Dim showmessage As String = "Warning!\r\n \r\n Unticking this box will delete this Member from the Databse. \r\n \r\n If you are unsure, make sure the box remains ticked"
        Dim alertScript As String = "<script language=JavaScript> "
        alertScript += "alert('" & showmessage & "');"
        alertScript += "</script" & "> "

        If Not ClientScript.IsClientScriptBlockRegistered("alert") Then
            Me.RegisterClientScriptBlock("alert", alertScript)
        End If
    End Sub
Run Code Online (Sandbox Code Playgroud)

Max*_*dov 5

尝试这个:

If Not ClientScript.IsClientScriptBlockRegistered(GetType(YourPageClass), "alert") Then
    ClientScript.RegisterClientScriptBlock(GetType(YourPageClass), "alert", alertScript)
End If     
Run Code Online (Sandbox Code Playgroud)

(替换YourPageClass为您的页面类的名称)。

type和key参数用于防止在同一页面注册相同的脚本当您直接在页面中注册脚本时(就像您所做的那样),类型参数可能没有意义。但是,它可以避免例如使用相同关键参数注册脚本的不同自定义控件之间的潜在冲突。