DropDownList исправлен
У меня есть несколько выпадающих списков на определенном экране, и всякий раз, когда я получаю значение, всегда появляется первое значение. Что мне сделать, чтобы решить эту проблему, выпадающий список на других страницах работает корректно и может выбрать их значение, этого не может.
Я устанавливаю значения динамически, каждый раз, когда я поднимаю файл в папке сервера, я обновляю его, заполняя его вектором, в котором есть имя (в строке) всех элементов в каталоге. Когда я выбираю значение, отличное от стандартного, Quyando будет воспроизводить ее значение в базе данных, как будто я ничего не выбрал. Я пытался решить autoPorsback истина и ложь, и ничего в 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));
}
}
}