我在特定屏幕中有一些下拉列表,每当我得到相同的值时,总是出现第一个值。我该怎么做才能解决这个问题,其他页面中的下拉列表正常工作并且可以选择它们的值,这不能。
我正在动态设置它的值,每次我在服务器文件夹中打开一个文件时,我都会升级,用一个向量填充它,该向量具有目录中所有项目的名称(以字符串形式)。当我选择一个不同于标准的值时,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));
}
}
}