Olá amigo. Tudo bem?
comecei dia desses a mexer com a plataforma .net e claro venho tendo um pouco de problemas em lidar com ela…rs
meu problema creio ser bem simples … acontece o seguinte… Estou fazendo um site em asp.net que terá uma pagina master … nessa página master terei um campo de codigo (text input) e duas combos (mes e ano) … ao digitar as informações será apresentado um boleto correspondente …
pois bem, qdo seleciono as informações e clico em OK, faço um teste dos valores mas as combos não apresentam os valores selecionados… voltam pros valores iniciais… exemplo, se digito o codigo 2000, seleciono o mes abril e o ano 2009, quando clico em OK, ao invés de mostrar (no meu teste) “2000, abril, 2009” ele me mostra “2000, Janeiro, 2010” (o anual atual qh o que ficará em primeiro na combo) …
segue os codigos
MASTERPAGE1.MASTER
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="MasterPage1.master.cs" Inherits="WebApplication1.MasterPage1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Centroeste de Minas</title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
<link rel = "Stylesheet" type = "text/css" href = "css/Master.css" />
<script language="javascript" type="text/javascript">
// <!CDATA[
function mensagemSucesso(stringMensagem, Pagina){
alert(stringMensagem);
}
// ]]>
</script>
</head>
<body>
<form id="form1" runat="server" method = "post">
<asp:ScriptManager ID="ScriptManager1" runat="server"/>
<div>
<table class="style1" id="TopoPagina" bgcolor="#3366CC">
<tr>
<td>
Código: <asp:TextBox id="textCodigo" runat = "server" Width="50px"></asp:TextBox>
Mês: <asp:DropDownList ID="comboMes" runat="server">
</asp:DropDownList>
Ano: <asp:DropDownList ID="comboAno" runat="server">
</asp:DropDownList>
<asp:Button ID="buttonOK" runat="server" onclick="buttonOK_Click" Text="OK" />
</td>
</tr>
</table>
</div>
<table class="style2" id="LateralPagina">
<tr>
<td bgcolor="#3366CC" class="style3">
</td>
<td class="style6">
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" Visible="true">
</asp:ContentPlaceHolder>
</td>
</tr>
</table>
<table class="style4" id="RodapePagina" bgcolor="#3366CC">
<tr>
<td class="style5">
</td>
</tr>
</table>
</form>
</body>
</html>
MASTERPAGE.MASTER.CS
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Text;
using System.IO;
namespace WebApplication1
{
public partial class MasterPage1 : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
DateTime data = DateTime.Now;
comboMes.Items.Clear();
comboAno.Items.Clear();
//Fará a leitura do arquivo "ComboMes.xml" que contem
//todos os 12 meses do ano para preencher a combo relativa
//aos meses do ano
DataSet ds = new DataSet();
ds.ReadXml(MapPath("Listas/ComboMes.xml"));
comboMes.DataSource = ds.Tables["mes"];
comboMes.DataTextField = "nome";
comboMes.DataValueField = "codigo";
comboMes.DataBind();
//loop que preencherá a Combo relativa ao ano, colocando em
//ordem decrescente, do ano vigente voltando até o ano de 2010
for (int contador = data.Year; contador >= 2010; contador--)
{
comboAno.Items.Add(contador.ToString());
}
}
//Evento clique do botão onde testo
protected void buttonOK_Click(object sender, EventArgs e)
{
String msg = textCodigo.Text + ", " + comboMes.SelectedItem.Text + ", " + comboAno.SelectedItem.Text;
string pagina = "index.aspx";
string meuScript = "<script>alert '" + msg + "');location.href='" + pagina + "'</script>";
Response.Write("<script>alert( '" + msg + "');location.href='" + pagina + "'</script>");
}
}
}
Poderiam me ajudar??
Outra pergunta: Qual o melhor modo de exibir uma mensagem ao usuário, caso por exemplo, ele digite um código inválido?? o modo como usei acima está legal??
desde já agradeço…
att.
Junior