Pessoal, como andam os grandes projetos? eheheh
Então, hoje surgiu um problema quando estava implementando um UserControl em ASP.Net. Neste UserControl, eu criava um objeto do tipo List<> e armazenava ele no ViewState. Porém, na recuperação deste objeto, o framework acusava uma excessão, dizendo que não era possível converter o objeto genérico para um outro objeto genérico.
Procurando pelo mesmo problema no Google, encontrei uma solução que permite tal procedimento. Segue explicação:
Vamos imaginar que temos uma página Web que simula a criação da lista genérica e logo depois recuperamos esta lista. Veja que você pode implementar este exemplo da forma que desejar, criando a sua lista no Page_Load e recuperando-a em um evento de um botão, por exemplo.
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Ilustração da criação de uma Lista que contém objetos Customer
List<Customer> CustomerList = new List<Customer>();
Customer SingleCustomer = new Customer();
SingleCustomer.CustomerAddress = "my address";
SingleCustomer.CustomerName = "my name";
CustomerList.Add(SingleCustomer);
// Converta a lista para um array e salve no ViewState
// ao invés de serializá-la manualmente
ViewState.Add("Customers", CustomerList.ToArray());
Customer[] newArray = (Customer[])ViewState["Customers"];
List<Customer> newList = new List<Customer>(newArray);
Response.Write(CustomerList[0].CustomerName);
}
// Classe do objeto Customer que deve ser serializada
[Serializable]
public class Customer
{
private string _CustomerName = "";
private string _CustomerAddress = "";
public string CustomerName
{
get
{
return _CustomerName;
}
set
{
_CustomerName = value;
}
}
public string CustomerAddress
{
get
{
return _CustomerAddress;
}
set
{
_CustomerAddress = value;
}
}
}
}Pronto. Agora é só testar e ver que nossa List foi salva no ViewState e pode ser usada normalmente.
![]() |
CodigoFonte.net » CodigoFonte.eti.br » Procurando o que comprar? » MeuMural.com.br » Todos os Direitos Reservados © 2002/2008 |
Procurando Notebooks, Câmeras Digitais, iPhones?