Web窗体更新未在下拉列表中显示文本值,也不会更新 [英] Web Form Update is not showing text values in dropdownlists and It is not updating also

查看:101
本文介绍了Web窗体更新未在下拉列表中显示文本值,也不会更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

My web applicatin has three web forms using Master Page that access data tables in SqlServer database:

1 - Autoridade.aspx that shows data and search

2 - Autoridade_Add.aspx that inserts data in table lideranca

3- Autoridade_Atualizar.aspx that updates data in table lideranca

Autoridade.aspx has a GridView that show data and uses asp:HyperLinkField to redirect to Autoridade_Atualizar.aspx:




<asp:Panel runat="server" ID="pnlShowData" Visible="true">
    <h1>Todas as Autoridades Cadastradas</h1>
    <asp:GridView ID="gwDados" runat="server" AutoGenerateColumns="False" EmptyDataText="Não Existem Autoridades Cadastradas...">
        <Columns>
            <asp:BoundField DataField="id" HeaderText="ID" />
            <asp:BoundField DataField="nome" HeaderText="Nome" />
            <asp:BoundField DataField="partido" HeaderText="Partido" />
            <asp:BoundField DataField="aliado" HeaderText="Aliado" />
            <asp:BoundField DataField="cargo" HeaderText="Cargo" />
            <asp:BoundField DataField="lotacao" HeaderText="Lotação" />
            <asp:BoundField DataField="atuacao" HeaderText="Atuação" />
            <asp:HyperLinkField DataNavigateUrlFormatString="Autoridade_Atualizar.aspx?id={0}" Text="Editar" DataNavigateUrlFields="id" />
        </Columns>
    </asp:GridView>
</asp:Panel>

<asp:Panel runat="server" ID="pnlSearch" Visible="true">
      <ul>
        <li>
            <asp:Label Text="Nome" ID="label9" runat="server"></asp:Label>
            <asp:TextBox ID="tbPesqNome" Text="" CssClass="radiusInput" runat="server"></asp:TextBox>
        </li>
        <li>
            <asp:Label ID="Cargo" runat="server" Text="Cargo"></asp:Label>
            <asp:DropDownList ID="ddlcargo" DataTextField="carg_cargo" DataValueField="carg_cd_cargo" CssClass="radiusInput" runat="server" Width="454px"></asp:DropDownList>
        </li>
        <li>
            <asp:Label ID="Partido" runat="server" Text="Partido"></asp:Label>
            <asp:DropDownList ID="ddlpartido" DataTextField="part_sigla" DataValueField="part_cd_partido" CssClass="radiusInput" runat="server" Width="254px"></asp:DropDownList>
        </li>
        <li>
            <asp:Label ID="Municipio" runat="server" Text="Município Atuação"></asp:Label>
            <asp:DropDownList ID="ddlmunicipio" DataTextField="municipios" DataValueField="id_municipios" CssClass="radiusInput" runat="server" Width="454px"></asp:DropDownList>
        </li>
        <li> 
            <asp:Label ID="Base" runat="server" Text="Base Aliada"></asp:Label>
            <asp:DropDownList ID="ddlbasealiada" DataTextField="bas_base" DataValueField="bas_cd_base" CssClass="radiusInput" runat="server" Width="154px"></asp:DropDownList>
        </li>
        <li>
            <asp:Label ID="Orgao" runat="server" Text="Orgão de Lotação"></asp:Label>
            <asp:DropDownList ID="ddlorgao" DataTextField="orgao" DataValueField="codorgao" CssClass="radiusInput" runat="server" Width="454px"></asp:DropDownList>
        </li> 
        <li>
            <asp:Button ID="btnSearch" CssClass="btn btnSearch" runat="server" Text="Pesquisar" />
        </li>
    </ul>
</asp:Panel>







The first problem occurs here when I click on hyperlink the data are showed in web form Autoridade_Atualizar.aspx but the datafields (Cargo,Partido,Municipio,Base,Orgao) that use DropDownList control in this web form show integer values instead text values:







<asp:Panel runat="server" ID="pnlUpdate" Visible="true">
    <h1>Atualizar Autoridade</h1>
    <ul>
        <li>
            <asp:Label ID="CodAutoridade" runat="server" Text="Cód. Autoridade"></asp:Label>
            <asp:TextBox ID="tbCodAutoridade" Text="2013" Enabled="false" CssClass="radiusInput disable" runat="server" Width="546px"></asp:TextBox>
        </li>
        <li>
            <asp:Label Text="Nome" ID="label1" runat="server" Width="88px"></asp:Label>
            <asp:TextBox ID="tbNome" Text="" CssClass="radiusInput" runat="server" Width="654px" Height="16px"></asp:TextBox>
        </li>
        <li>
            <asp:Label ID="Cargo" runat="server" Text="Cargo"></asp:Label>
            <asp:DropDownList ID="ddlcargo" DataTextField="carg_cargo" DataValueField="carg_cd_cargo" CssClass="radiusInput" runat="server" Width="454px"></asp:DropDownList>
        </li>
        <li>
            <asp:Label ID="Partido" runat="server" Text="Partido"></asp:Label>
            <asp:DropDownList ID="ddlpartido" DataTextField="part_sigla" DataValueField="part_cd_partido" CssClass="radiusInput" runat="server" Width="254px"></asp:DropDownList>
        </li>
        <li>
            <asp:Label ID="Descricao" runat="server" Text="Descrição"></asp:Label>
            <asp:TextBox ID="tbDescricao" runat="server" CssClass="radiusInput" Width="651px"></asp:TextBox>
        </li>
        <li>
            <asp:Label ID="Email" runat="server" Text="Email"></asp:Label>
            <asp:TextBox ID="tbemail" runat="server" CssClass="radiusInput" Width="651px"></asp:TextBox>
        </li>
        <li>
            <asp:Label ID="Facebook" runat="server" Text="Facebook"></asp:Label>
            <asp:TextBox ID="tbfacebook" runat="server" CssClass="radiusInput" Width="651px"></asp:TextBox>
        </li>
        <li>
            <asp:Label ID="Twitter" runat="server" Text="Twitter"></asp:Label>
            <asp:TextBox ID="tbtwitter" runat="server" CssClass="radiusInput" Width="651px"></asp:TextBox>
        </li>
        <li>
            <asp:Label ID="EndComercial" runat="server" Text="Endereço Comercial"></asp:Label>
            <asp:TextBox ID="tbendercomercial" runat="server" CssClass="radiusInput" Width="651px"></asp:TextBox>
        </li>
        <li>
            <asp:Label ID="EndResidencial" runat="server" Text="Endereço Residencial"></asp:Label>
            <asp:TextBox ID="tbenderesidencial" runat="server" CssClass="radiusInput" Width="651px"></asp:TextBox>
        </li>
        <li>
            <asp:Label ID="TelCelular" runat="server" Text="Telefone Celular"></asp:Label>
            <asp:TextBox ID="tbfonecelular" runat="server" CssClass="radiusInput" Width="651px"></asp:TextBox>
        </li>
        <li>
            <asp:Label ID="TelResidencial" runat="server" Text="Telefone Residencial"></asp:Label>
            <asp:TextBox ID="tbfoneresidencial" runat="server" CssClass="radiusInput" Width="651px"></asp:TextBox>
        </li>
        <li>
            <asp:Label ID="TelComercial" runat="server" Text="Telefone Comercial"></asp:Label>
            <asp:TextBox ID="tbfonecomercial" runat="server" CssClass="radiusInput" Width="651px"></asp:TextBox>
        </li>
        <li>
            <asp:Label ID="Municipio" runat="server" Text="Município Atuação"></asp:Label>
            <asp:DropDownList ID="ddlmunicipio" DataTextField="municipios" DataValueField="id_municipios" CssClass="radiusInput" runat="server" Width="454px"></asp:DropDownList>
        </li>
        <li> 
            <asp:Label ID="Base" runat="server" Text="Base Aliada"></asp:Label>
            <asp:DropDownList ID="ddlbasealiada" DataTextField="bas_base" DataValueField="bas_cd_base" CssClass="radiusInput" runat="server" Width="154px"></asp:DropDownList>
        </li>
        <li>
            <asp:Label ID="Orgao" runat="server" Text="Orgão de Lotação"></asp:Label>
            <asp:DropDownList ID="ddlorgao" DataTextField="orgao" DataValueField="codorgao" CssClass="radiusInput" runat="server" Width="454px"></asp:DropDownList>
        </li> 
        <li>
        <li>
            <asp:Button ID="bntAtualizar" CssClass="btn btnEdit" runat="server" Text="Atualizar" OnClick="bntAtualizar_Click"/>
        </li>
    </ul>
</asp:Panel>






$ b$b




using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
using Model;

namespace SchoolSystem
{
    public partial class Autoridade_Atualizar : System.Web.UI.Page
    {
        private ModelDataContext mdc;

        protected void Page_Load(object sender, EventArgs e)
        {
            PopulateCargo();
            PopulatePartido();
            PopulateMunicipio();
            PopulateBase();
            PopulateOrgao();


            if (!IsPostBack)
            {

                try
                {
                    this.PopulateFields(int.Parse(Request.QueryString["id"]));
                }
                catch (Exception)
                {

                    this.PopulateFields();
                }
            }


        }


        public void PopulateCargo()
        {
            if (!IsPostBack)
            {

                string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                using (SqlConnection con = new SqlConnection(CS))
                {
                    SqlCommand cmd = new SqlCommand("SELECT carg_cargo,carg_cd_cargo FROM lid_cargo", con);
                    con.Open();
                    ddlcargo.DataSource = cmd.ExecuteReader();
                    ddlcargo.DataBind();

                }
            }

        }

        public void PopulatePartido()
        {
            if (!IsPostBack)
            {
                string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                using (SqlConnection con = new SqlConnection(CS))
                {
                    SqlCommand cmd = new SqlCommand("SELECT part_sigla,part_cd_partido FROM lid_partido", con);
                    con.Open();
                    ddlpartido.DataSource = cmd.ExecuteReader();
                    ddlpartido.DataBind();
                }
            }

        }

        public void PopulateMunicipio()
        {
            if (!IsPostBack)
            {
                string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                using (SqlConnection con = new SqlConnection(CS))
                {
                    SqlCommand cmd = new SqlCommand("SELECT municipios,id_municipios FROM redat_municipio", con);
                    con.Open();
                    ddlmunicipio.DataSource = cmd.ExecuteReader();
                    ddlmunicipio.DataBind();
                }
            }
        }

        public void PopulateBase()
        {
            if (!IsPostBack)
            {
                string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                using (SqlConnection con = new SqlConnection(CS))
                {
                    SqlCommand cmd = new SqlCommand("SELECT bas_base,bas_cd_base FROM lid_base", con);
                    con.Open();
                    ddlbasealiada.DataSource = cmd.ExecuteReader();
                    ddlbasealiada.DataBind();
                }
            }
        }

        public void PopulateOrgao()
        {
            if (!IsPostBack)
            {
                string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                using (SqlConnection con = new SqlConnection(CS))
                {
                    SqlCommand cmd = new SqlCommand("SELECT orgao,codorgao FROM redat_orgaos", con);
                    con.Open();
                    ddlorgao.DataSource = cmd.ExecuteReader();
                    ddlorgao.DataBind();
                }
            }
        }

        protected void bntAtualizar_Click(object sender, EventArgs e)
        {
            this.OnUpdate();
        }

        private void OnUpdate()
        {

            mdc = new ModelDataContext();
            try
            {
                  lid_lideranca lideranca = mdc.lid_liderancas.First(aut => aut.lid_cd_lideranca == int.Parse(tbCodAutoridade.Text.Trim()));


                    tbNome.Text = lideranca.lid_nome;
                    ddlcargo.SelectedItem.Text = lideranca.lid_cargo.ToString();
                    ddlpartido.SelectedItem.Text = lideranca.lid_cd_partido.ToString();
                    tbDescricao.Text = lideranca.lid_cargo2;
                    tbemail.Text = lideranca.lid_email;
                    tbfacebook.Text = lideranca.lid_facebook;
                    tbtwitter.Text = lideranca.lid_twitter; 
                    tbendercomercial.Text = lideranca.lid_endereco_comercial;
                    tbenderesidencial.Text = lideranca.lid_endereco_residencial;
                    tbfonecelular.Text = lideranca.lid_fone_celular;
                    tbfoneresidencial.Text = lideranca.lid_fone_residencial;
                    tbfonecomercial.Text = lideranca.lid_fone_comercial;
                    ddlmunicipio.SelectedItem.Text = lideranca.lid_cd_cidade_atuacao.ToString();
                    ddlbasealiada.SelectedItem.Text = lideranca.lid_cd_base_aliada.ToString();
                    ddlorgao.SelectedItem.Text = lideranca.lid_cd_orgao.ToString();


                    mdc.SubmitChanges();

                    Response.Redirect("Autoridade.aspx");               
            }
            catch (Exception)
            {

            }
            finally
            {
                mdc.Dispose();
            }

        }

        private void PopulateFields(int pGetID = 0)
        {
            mdc = new ModelDataContext();
            try
            {
                if (pGetID > 0)
                {
                    lid_lideranca lideranca = mdc.lid_liderancas.First(aut => aut.lid_cd_lideranca == pGetID);


                    tbCodAutoridade.Text = pGetID.ToString();
                    tbNome.Text = lideranca.lid_nome;
                    ddlcargo.SelectedItem.Text = lideranca.lid_cargo.ToString();
                    ddlpartido.SelectedItem.Text = lideranca.lid_cd_partido.ToString();
                    tbDescricao.Text = lideranca.lid_cargo2;
                    tbemail.Text = lideranca.lid_email;
                    tbfacebook.Text = lideranca.lid_facebook;
                    tbtwitter.Text = lideranca.lid_twitter;
                    tbendercomercial.Text = lideranca.lid_endereco_comercial;
                    tbenderesidencial.Text = lideranca.lid_endereco_residencial;
                    tbfonecelular.Text = lideranca.lid_fone_celular;
                    tbfoneresidencial.Text = lideranca.lid_fone_residencial;
                    tbfonecomercial.Text = lideranca.lid_fone_comercial;
                    ddlmunicipio.SelectedItem.Text = lideranca.lid_cd_cidade_atuacao.ToString();
                    ddlbasealiada.SelectedItem.Text = lideranca.lid_cd_base_aliada.ToString();
                    ddlorgao.SelectedItem.Text = lideranca.lid_cd_orgao.ToString();


                }
                else
                {
                    Response.Redirect("Autoridade.aspx");
                }
            }
            catch (Exception)
            {

            }
            finally
            {
                mdc.Dispose();
            }
        }
    }
}







The DropDownLists show text values in tables lid_cargo, lid_partido, redat_municipio, lid_base and redat_orgaos. Where I am missing? Maybe my implementation in Autoridade_Atualizar.aspx.cs is forgetting something.

推荐答案

这篇关于Web窗体更新未在下拉列表中显示文本值,也不会更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆