LA.Net
Reflexões sobre C#, .Net e programação em geral

Já que no post anterior falei do novo controlo FileUpload (que apenas automatiza o processo de atribuição do tipo de conteúdo do formulário), acho que vou aproveitar e apresentar também um exemplo simples relacionado com o novo controlo HiddenField. O objectivo deste controlo  é simplificar a utilização de campos escondidos. Os programadores de Asp.Net 1.XX já se habituaram a utilizar o campo HtmlInputHidden sempre que precisam de utilizar campos escondidos.Contudo, este controlo possui um evento interessante:  ValueChanged. Este evento é gerado sempre que o valor do controlo é modificado. O código seguinte apresenta um exemplo muito simples do código necessário para utilizar este controlo (note-se que o evento é gerado quando o valor do campo é modificado no lado cliente!):

<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">
    void ProcessValueChanged( object sender, EventArgs args )
    {
        info.Text = hidden.Value;
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript">
        function Change()
        {
            var docID = "<%= hidden.ClientID %>";
            var txtID = "<%= txt.ClientID %>"
            document.getElementById( docID ).value = document.getElementById( txtID ).value;
            alert( "Modificado" );
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <h3>Utilização do controlo HiddenField</h3>
        Introduza o texto que deve ser armazenado no campo escondido:<asp:TextBox runat="server" ID="txt" />
        <asp:Button runat="server" ID="bt" Text="Modificar" OnClientClick="Change()" />
        <asp:HiddenField runat="server" ID="hidden" OnValueChanged="ProcessValueChanged" /><br />
        <asp:Label runat="server" ID="info" />
    </form>
</body>
</html>

posted on Sunday, March 20, 2005 5:54 PM
Comments
  • # Almas g
    Programando .NET
    Posted @ 4/22/2005 1:18 PM
  • # re: HiddenField: outra novidade
    Rodrigues
    Posted @ 9/27/2005 7:43 PM
    O HiddenField fica em qual dll?

    Obrigado
  • # re: HiddenField: outra novidade
    Luis Abreu
    Posted @ 9/27/2005 11:46 PM
    Encontra-se na System.Web.dll; namespace System.Web.UI.WebControls
Title  
Name  
Url
Box Code
Protected by FormShield
Comments