0

我在特定屏幕中有一些下拉列表,每当我得到相同的值时,总是出现第一个值。我该怎么做才能解决这个问题,其他页面中的下拉列表正常工作并且可以选择它们的值,这不能。

我正在动态设置它的值,每次我在服务器文件夹中打开一个文件时,我都会升级,用一个向量填充它,该向量具有目录中所有项目的名称(以字符串形式)。当我选择一个不同于标准的值时,quyando 会在数据库中发挥她的值,就好像我没有选择任何东西一样。我试图解决 autoPorsback true 和 false,page_load 中什么都没有。我该如何解决?我的代码没有错误。

注意:每次我爬上一个新文件时都会加载下拉列表,因为我在 IsPostBack 中没有它。每次我爬一个新文件时,我都有一个MostraImagensCarrefadas()更新和填充下拉列表的方法。此方法获取按钮的事件。我没有使用更新面板,也没有使用类似的东西。

我所有的组件代码:

 //aspx header
<%@ Page Title="" Language="C#" MasterPageFile="~/administrativo/MasterPage.master"    EnableViewState="false" AutoEventWireup="true" CodeFile="cadastroImovel.aspx.cs" Inherits="administrativo_cadastroImovel" %>

//dropdownlist in aspx
<div class="span2">
<div>
<asp:DropDownList ID="ddlImgPrincipal" runat="server" Width="160px" AutoPostBack="false" OnSelectedIndexChanged="ddlImgPrincipal_SelectedIndexChanged">
</asp:DropDownList>
 </div>
</div>

// Method page_load
protected void Page_Load(object sender, EventArgs e)
{

    if (!IsPostBack)
    {

    }
}


//where I try to get the value of the dropdownlist
protected void btSalvar_Click(object sender, EventArgs e)
{
    eImoveis imovel = new eImoveis();

    imovel.area_total = txtArea.Text;
    imovel.bairro = txtBairro.Text;
    imovel.banheiro = txtBanheiro.Text;
    imovel.cep = txtCep.Text;
    imovel.cidade = ((System.Web.UI.WebControls.ListControl)     (ddlCidade)).SelectedValue.ToString();
    imovel.codcliente = ((System.Web.UI.WebControls.ListControl)    (ddlProprietario)).SelectedValue.ToString();
    imovel.codtipoimovel = ((System.Web.UI.WebControls.ListControl)    (ddlCategoriaImovel)).SelectedValue.ToString();
    imovel.complemento = txtComplemento.Text;
    imovel.descricao = txtDescricao.Text;
    imovel.garagem = txtVagasGaragem.Text;
    imovel.nome = txtNome.Text;
    imovel.numero = txtNúmero.Text;
    imovel.quarto = txtQuartos.Text;
    imovel.referencia = txtReferencia.Text;
    imovel.rua = txtRua.Text;
    //imovel.suite = sui
    imovel.valor = txtValor.Text;

    if (manImovel.Insere(imovel))
    {
        eImagens imagem = new eImagens();
        manImagem manImg = new manImagem();

        List<String> files = new manFile().getListFilesForDirectory(this, MAE.DIRETORIO_TEMP_IMG);

        DataTable dt = manImovel.getLastID(imovel);

        DataRow row = dt.NewRow();

        String codigo = dt.Rows[0].ItemArray[0].ToString();

        int tamanho = 0;            

        if (files != null)
        {
            foreach (String str in files)
            {
                imagem.cdImovel = codigo;
                imagem.imagem = str;


                if (ddlImgPrincipal.SelectedItem != null)
                {
                    if (ddlImgPrincipal.SelectedItem.ToString() == str)
                    {
                        imagem.imagemPrincipal = "SIM";

                    }
                }


                if (manImg.Insere(imagem))
                {
                    tamanho++;
                }

                //tamanho++;
            }
        }

        if (tamanho == files.Count)
        {
            if (new manFile().CopiaTodosOsArquivos(this, MAE.DIRETORIO_TEMP_IMG,     MAE.DIRETORIO_IMG))
            {
                if (new manFile().DeletaTodosArquivos(this, MAE.DIRETORIO_TEMP_IMG))
                {
                    MontaLiteralCarrossel();

                }
            }
        }
    }
}
 //Here I fill the dropdownlist
public void MostraImagensCarrefadas()
{
    List<String> files = new manFile().getListFilesForDirectory(this, MAE.DIRETORIO_TEMP_IMG);

    ddlImgPrincipal.Items.Clear();

    if (files != null)
    {
        foreach (String item in files)
        {
            ddlImgPrincipal.Items.Add(new ListItem(item));
        }
    }
}
4

0 回答 0