Page.RegisterRequiresViewStateEncryption Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Registra un control con la página como un control que requiere el cifrado del estado de vista.
public:
void RegisterRequiresViewStateEncryption();
public void RegisterRequiresViewStateEncryption ();
member this.RegisterRequiresViewStateEncryption : unit -> unit
Public Sub RegisterRequiresViewStateEncryption ()
Excepciones
Debe llamarse al método RegisterRequiresViewStateEncryption() antes o durante la fase PreRender
de página del ciclo de vida de la página.
Ejemplos
En el ejemplo de código siguiente se muestra cómo establecer el modo de cifrado de estado de vista para un Page objeto y solicitar el cifrado del estado de vista a través RegisterRequiresViewStateEncryptionde . En este ejemplo, el estado de vista se cifrará cuando la información del cliente se recupere de una base de datos.
<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
if (IsPostBack)
{
if (yesRetrieve.Checked)
{
Page.RegisterRequiresViewStateEncryption();
System.Data.SqlClient.SqlConnection conn =
new System.Data.SqlClient.SqlConnection
("server=localhost;database=Northwind;Integrated Security=SSPI");
System.Data.SqlClient.SqlCommand command =
conn.CreateCommand();
command.CommandText = "Select [CustomerID] From [Customers]";
conn.Open();
System.Data.SqlClient.SqlDataReader reader =
command.ExecuteReader();
customerid.Text = reader["CustomerID"].ToString();
reader.Close();
conn.Close();
}
else
{
customerid.Text = "Not retrieved";
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Customer Information</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Customer identifier:
<asp:Label ID="customerid" runat="server" Text="Not available" />
<br />
Retrieve customer info:
<asp:RadioButton ID="yesRetrieve" Text="yes" runat="server" GroupName="group1" />
<asp:RadioButton ID="noRetrieve" Text="no" runat="server" GroupName="group1" />
<br />
<asp:Button ID="Button1" runat="server" Text="Submit" />
</div>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If IsPostBack Then
If (yesRetrieve.Checked) Then
Page.RegisterRequiresViewStateEncryption()
Dim conn As System.Data.SqlClient.SqlConnection = _
New System.Data.SqlClient.SqlConnection _
("server=localhost;database=Northwind;Integrated Security=SSPI")
Dim command As System.Data.SqlClient.SqlCommand = _
conn.CreateCommand()
command.CommandText = "Select [CustomerID] From [Customers]"
conn.Open()
Dim reader As System.Data.SqlClient.SqlDataReader = _
command.ExecuteReader()
customerid.Text = reader("CustomerID").ToString()
reader.Close()
conn.Close()
End If
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Customer Information</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Customer identifier:
<asp:Label ID="customerid" runat="server" Text="Not available" />
<br />
Retrieve customer info:
<asp:RadioButton ID="yesRetrieve" Text="yes" runat="server" GroupName="group1" />
<asp:RadioButton ID="noRetrieve" Text="no" runat="server" GroupName="group1" />
<br />
<asp:Button ID="Button1" runat="server" Text="Submit" />
</div>
</form>
</body>
</html>
Comentarios
Si está desarrollando un control personalizado que se ocupa de información potencialmente confidencial, llame al método para registrar el RegisterRequiresViewStateEncryption control con la página y asegurarse de que el estado de vista del control está cifrado.
El estado completo de la página se cifrará si se establece Auto en ViewStateEncryptionMode o Always.