ClientScriptManager.RegisterArrayDeclaration(String, String) Methode

Definition

Registriert unter Verwendung eines Arraynamens und eines Arraytyps eine JavaScript-Arraydeklaration für ein Page-Objekt.Registers a JavaScript array declaration with the Page object using an array name and array value.

public:
 void RegisterArrayDeclaration(System::String ^ arrayName, System::String ^ arrayValue);
public void RegisterArrayDeclaration (string arrayName, string arrayValue);
member this.RegisterArrayDeclaration : string * string -> unit
Public Sub RegisterArrayDeclaration (arrayName As String, arrayValue As String)

Parameter

arrayName
String

Der zu registrierende Arrayname.The array name to register.

arrayValue
String

Der zu registrierende Arraywert bzw. die zu registrierenden Arraywerte.The array value or values to register.

Ausnahmen

arrayName ist null.arrayName is null.

Beispiele

Im folgenden Codebeispiel wird die Verwendung RegisterArrayDeclaration der-Methode und der- RegisterHiddenField Methode veranschaulicht.The following code example demonstrates the use of the RegisterArrayDeclaration and RegisterHiddenField methods. Im Beispiel wird ein Array und ein verborgener Wert registriert und OnClick das-Ereignis <input> einer Schaltfläche definiert, um die Summe von zwei Werten des Arrays und des verborgenen Werts zu berechnen.The example registers an array and a hidden value and defines the OnClick event of an <input> button to calculate the sum of two values of the array and the hidden value.

<%@ Page Language="C#"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
 
  public void Page_Load(Object sender, EventArgs e)
  {
    // Define the array name and values.
    String arrName = "MyArray";
    String arrValue = "\"1\", \"2\", \"text\"";
    
    // Define the hidden field name and initial value.
    String hiddenName = "MyHiddenField";
    String hiddenValue = "3";
    
    // Define script name and type.
    String csname = "ConcatScript";
    Type cstype = this.GetType();
        
    // Get a ClientScriptManager reference from the Page class.
    ClientScriptManager cs = Page.ClientScript;

    // Register the array with the Page class.
    cs.RegisterArrayDeclaration(arrName, arrValue);

    // Register the hidden field with the Page class.
    cs.RegisterHiddenField(hiddenName, hiddenValue);

    // Check to see if the  script is already registered.
    if (!cs.IsClientScriptBlockRegistered(cstype, csname))
    {
      StringBuilder cstext = new StringBuilder();
      cstext.Append("<script type=\"text/javascript\"> function DoClick() {"); 
      cstext.Append("Form1.Message.value='Sum = ' + ");
      cstext.Append("(parseInt(" + arrName + "[0])+");
      cstext.Append("parseInt(" + arrName + "[1])+");
      cstext.Append("parseInt(" + Form1.Name + "." + hiddenName + ".value));} </");
      cstext.Append("script>");
      cs.RegisterClientScriptBlock(cstype, csname, cstext.ToString(), false);
    }
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ClientScriptManager Example</title>
  </head>
  <body>
     <form    id="Form1"
            runat="server">
     <input type="text"
            id="Message" />
     <input type="button" 
            onclick="DoClick()" 
            value="Run Script" />
     </form>
  </body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

    ' Define the array name and values.
    Dim arrName As String = "MyArray"
    Dim arrValue As String = """1"", ""2"", ""text"""
    
    ' Define the hidden field name and initial value.
    Dim hiddenName As String = "MyHiddenField"
    Dim hiddenValue As String = "3"
    
    ' Define script name and type.
    Dim csname As String = "ConcatScript"
    Dim cstype As Type = Me.GetType()
        
    ' Get a ClientScriptManager reference from the Page class.
    Dim cs As ClientScriptManager = Page.ClientScript

    ' Register the array with the Page class.
    cs.RegisterArrayDeclaration(arrName, arrValue)
    
    ' Register the hidden field with the Page class.
    cs.RegisterHiddenField(hiddenName, hiddenValue)

    ' Check to see if the  script is already registered.
    If (Not cs.IsClientScriptBlockRegistered(cstype, csname)) Then
      Dim cstext As StringBuilder = New StringBuilder()
      cstext.Append("<script type=""text/javascript\""> function DoClick() {")
      cstext.Append("Form1.Message.value='Sum = ' + ")
      cstext.Append("(parseInt(" + arrName + "[0])+")
      cstext.Append("parseInt(" + arrName + "[1])+")
      cstext.Append("parseInt(" + Form1.Name + "." + hiddenName + ".value));} </")
      cstext.Append("script>")
      cs.RegisterClientScriptBlock(cstype, csname, cstext.ToString(), False)
    End If
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ClientScriptManager Example</title>
  </head>
  <body>
     <form    id="Form1"
            runat="server">
     <input type="text"
            id="Message" />
     <input type="button" 
            onclick="DoClick()" 
            value="Run Script" />
     </form>
  </body>
</html>

Hinweise

Der RegisterArrayDeclaration überprüft, ob ein registriertes Array mit demselben Namen wie der arrayName im-Parameter angegebene Name vorhanden ist, und fügt, wenn dies arrayValue der Fall ist, die im-Parameter angegebenen Werte hinzu.The RegisterArrayDeclaration checks to see whether a registered array exists with the same name as the name specified in the arrayName parameter and, if so, adds the values specified in the arrayValue parameter. Da der zugrunde liegende Speichermechanismus auf einem ArrayListbasiert, sind Duplikate zulässig.Because the underlying storage mechanism is based on an ArrayList, duplicates are allowed. Wenn ein registriertes Array mit dem gleichen Namen wie arrayName der-Parameter nicht vorhanden ist, wird es erstellt, und die arrayValue Werte im-Parameter werden hinzugefügt.If a registered array with the same name as the arrayName parameter does not exist, it is created and the values in the arrayValue parameter added to it.

Wenn Sie Zeichen folgen Literale im resultierenden JavaScript-Array wünschen, schließen Sie einfache Anführungszeichen (') oder doppelte Anführungszeichen\(") in arrayValue den-Parameter ein.If you want string literals in the resulting JavaScript array, include single quotation marks (') or escaped double quotation marks (\") in the arrayValue parameter. Der Wert des arrayValue -Parameters muss ein einzelnes-Element sein.The value of the arrayValue parameter should be a single element. Wenn mehr als ein Wert zum Array hinzugefügt werden muss, führen Sie mehrere Aufrufe mithilfe der RegisterArrayDeclaration -Methode aus.If more than one value needs to be added to the array, make multiple calls using the RegisterArrayDeclaration method.

Gilt für:

Siehe auch