В shownotice.aspx
имеет контроль Repeater, чтобы показать уведомление, загруженное из базы данных (сервер SQL 2008) и DropDownList управления для фильтрации: all notices
(значение по умолчанию = 0) /lecturer's notices
(значение = 1) / student notices
(значение = 2).Ошибка с DropDownList управления страницы
<asp:DropDownList ID="DropDownList" runat="server" OnSelectedIndexChanged="DropDownlist_Changed"
AutoPostBack="true" >
<asp:ListItem Selected="True" Value="0"> All notice </asp:ListItem>
<asp:ListItem Value="1"> Lecturer </asp:ListItem>
<asp:ListItem Value="2"> Student </asp:ListItem>
</asp:DropDownList>
УВЕДОМЛЕНИЕ таблица в базе данных
NOTICE(id, title, content,object)
объект = 1
-> Уведомление для лектора
объект = 2
-> уведомления для студента.
Пожалуйста, обратите внимание на мой код ниже:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bool check = BindRepeater(madoituong, maloai);
if (check == false)
LabelError.Text = "There is no notice.";
}
}
private bool BindRepeater()
{
string sql = "";
string key = DropDownList.SelectedValue;
if (key == "0")
sql = "select * from NOTICE";
else
sql = "select * from NOTICE where object=" + key;
DataTable tb = EXECUTEQUERYSQL(sql);
if (tb.Rows.Count > 0)
{
Repeater1.DataSource = tb;
Repeater1.DataBind();
return true;
}
else
return false;
}
public void DropDownlist_Changed(Object sender, EventArgs e)
{
bool check = BindRepeater();
if (check == false)
LabelError.Text = "There is no notice.";
}
Все, что я хочу это:
, когда клиент обращается к
shownotice
страница -> ключ = 0 -> Repeater загружает все уведомления в Таблица уведомлений (как для преподавателя, так и для учащегося)Затем клиент выбирает
Lecturer
илиStudent
для фильтрации и вытеснения ay уведомляет об объекте.
Когда я построил эту страницу, программа работала нормально, если у него есть какие-то указания для преподавателя (объект = 1) и некоторые уведомления для студента (объект = 2) в базе данных.
Но когда у него есть только уведомления для лектора или только уведомления для ученика -> программа работала неправильно.
Например:
Существует только одна запись в УВЕДОМЛЕНИЕ таблице:
ID = 1, заголовок = ааа, содержание = праздник, объект = 1
Когда я выбираю преподаватель или Студент -> он всегда показывает уведомление aaa
, он должен показывать messsage «Нет уведомления», когда я выбираю Student
.
Попробуйте отладить:
Когда я выбираю Student
вариант: Datatable tb = null
и вернуться false
, программа перехода в if
заявления и линии хит: LabelError =; "Там нет никакого уведомления." Но после завершения отладки Repeater все еще показывает уведомление aaa
вместо сообщения.
Помощь !!! Я действительно не знаю, почему, когда я отлаживаю, программа попала в строку LabelError = «Нет уведомлений»; но тогда не появляется сообщение LabelError. Помогите!!!
Где мой метод привязки –
@SurajSingh Я пропустил эти высказывания при копировании и вставке, я только что обновил свой вопрос –