Array
(
)

popular um form com metodos de outra classe

Wandersql
   - 05 mai 2007

Como teste estou tentando popular um form com metodos,na pagina Psquisa Usuario carrego um DropdownList com o nome dos usuarios
ao clicar no botao Pesquisar(BtnPesq) ele carrega os textbox com o nome e endereço do usuario.
porém só consegui carregar o Dropdowlist,quando seleciono o usuario e clico no botão não acontece nada!nem erro nem nada

Oque estou fazendo errado?
segue o código:

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
PopulaTela();
}
}
private void PopulaTela()
{
ddlUsuario.DataSource = Usuario.GetNome(0);
ddlUsuario.DataTextField = ´Nome´;
ddlUsuario.DataValueField = ´UsuId´;
ddlUsuario.DataBind();
ddlUsuario.Items.Insert(0,new ListItem (´´, ´´));
string strUsuario = ddlUsuario.SelectedValue;
}
private void populaForm(string strUsuario)
{

// Não é possível converter implicitamente o
//tipo ´System.Collections.Generic.IList<IUsuario>´ em ´Usuario´. Existe uma conversão explícita:(Usuario)
Usuario ObjUsuario = (Usuario)Usuario.GetUsuario(strUsuario);
TxtEnd.Text = ObjUsuario.Endereco;
TxtMail.Text = ObjUsuario.Email;
TxtFone.Text = ObjUsuario.Telefone;
TxtCidade.Text = ObjUsuario.Cidade;
TxtEstado.Text = ObjUsuario.Estado;
}
//protected void ddlUsuario_SelectedIndexChanged(object sender, EventArgs e)
//{
// populaForm(´´);
//}
protected void BtnPesq_Click(object sender, EventArgs e)
{
populaForm(´´);
}
}
Meus métodos da classe usuario :

public static IList<IUsuario> GetNome(int UsuID)//retorna os nomes de usuarios do banco para o dropDowList
{
return GetNome( UsuID, ´´);
}

public static IList<IUsuario> GetUsuario(string strUsuario)
{
return GetUsuario(strUsuario, ´´);//retorna o nome e o endereço do usuario do banco para os Txtbox
}

o metodo get usuario:

public static IList<IUsuario> GetUsuario(string strUsuario, string strNome, string strEndereco)
{
SqlConnection conn = new SqlConnection(Settings.connectionstring);
string Proc = ´upUsuarioAll_S´;
SqlCommand cmd = new SqlCommand(Proc, conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter Usuid = cmd.Parameters.Add(´@UsuId´, SqlDbType.Int);
Usuid.Value = strUsuario;
Usuid.Direction = ParameterDirection.Input;

conn.Open();
IList<IUsuario> GetReader = new List<IUsuario>();
SqlDataReader rd = cmd.ExecuteReader(CommandBehavior.CloseConnection);
while (rd.Read())
{
int UsuId = 0;
string Nome = ´´;
string Endereco = ´´;

if (!rd.IsDBNull(0))
UsuId = rd.GetInt32(0);
if (!rd.IsDBNull(1))
Nome = rd.GetString(1);
if (!rd.IsDBNull(2))
Endereco = rd .GetString (2);

if (UsuId != 0 && Nome != ´´ && Endereco != ´´)
{
Usuario ObjUsuario = new Usuario(UsuId, Nome, Endereco);
GetReader.Add(ObjUsuario);
}

} rd.Close();
if (conn.State != ConnectionState.Closed)
conn.Close();
return GetReader;
}

como popular os text box sem usar Form view
ou outra forma estou tentando esse lab
para futuros BLL,DAL...