0

我有一个事件DropDownList的方法OnSelectedIndexChanged改变了一个标签的内容。它工作正常,除了DropDownList. 有任何想法吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newsletter.DAL;
using Newsletter.Services;

public partial class Senders : System.Web.UI.Page
{
    private SenderService _client;
    private List<Sender> _allSenders;
    private DropDownList _dropDownListSenders;
    private TextBox _emailBox;
    private string _selectedSender;

    protected void Page_Load(object sender, EventArgs e)
    {
        _client = new SenderService();
        _allSenders = _client.GetAllSenders();
        _dropDownListSenders = (DropDownList)loginViewMain.FindControl("DropDownListSenders");
        _emailBox = (TextBox)loginViewMain.FindControl("textBoxEmail");
    }

 protected void DropDownListSenders_SelectedIndexChanged(object sender, EventArgs e)
    {
        _selectedSender = _dropDownListSenders.SelectedValue;
        _emailBox.Text = _selectedSender;
    }
}
4

4 回答 4

1

您在第一个项目之前有一个“空”项目吗?如果不是,则选择第一项不会更改所选索引(第一项已被选择)并且不会触发事件。

于 2013-01-19T13:47:51.567 回答
1

我添加ViewStateMode="true"DropDownList,现在它工作正常。

于 2013-01-19T14:48:12.290 回答
0

您的第一个元素已被选中,这就是为什么当您再次选择第一个元素时它OnSelectedIndexChanged不会触发,因为您没有更改元素。
OnSelectedIndexChanged仅当您选择的元素发生更改时才会触发。

于 2013-01-19T14:56:14.940 回答
0

请检查您的第一项是否设置为空字符串(即string.Empty)。如果是这样,则将其设置为null。这应该可以解决您的问题。

空字符串问题: - 事件不考虑将空字符串更改为新的内容。而如果将其设置为 null,则表示 null 已更改为字符串值。希望这可以帮助!快乐的编码...

于 2016-05-04T09:28:46.470 回答