sriram342019 Ответов: 1

Данные привязки Radiobutton не показаны в ASP.NET


<asp:RadioButtonList ID="r1" runat="server" AutoPostBack="True" RepeatColumns="3" RepeatDirection="Horizontal">
    </asp:RadioButtonList>


Что я уже пробовал:

private void yrs()
     {
         DataSet sid = new DataSet();
         string aise = "select distinct yearr from programe where course='" + ddcorese.SelectedItem.Text.ToString() + "'";
         sid = mvl.GETDS(aise);
         ListItem liq = new ListItem();
         liq.Value = "--Select--";
         r1.Items.Add(liq.ToString());
         r1.DataSource = sid;
         r1.DataTextField = "yearr";
         r1.DataBind();               
     }

F-ES Sitecore

Используйте отладчик для пошагового просмотра кода, содержит ли "sid" какие-либо данные?

Кроме того, если вы хотите иметь как добавляемые элементы, так и элементы, привязанные к базе данных, вам необходимо указать AppendDataBoundItems="true" либо в разметке, либо в коде позади нее. Кроме того, бессмысленно добавлять приглашение "--Select--" в список переключателей.

1 Ответов

Рейтинг:
0

Suvendu Shekhar Giri

Пожалуйста, попробуйте эти предложения и посмотрите, поможет ли это-

1. Убедитесь, что вы позвонили в yrs() метод внутри Page_Load() событие и завернутый внутри чек для обратной передачи что-то вроде следующего-

if(!Page.IsPostBack)
{
   yrs();
}


2. Изменение AutoPostBack="True" to AutoPostBack="False" Это происходит потому, что вы не используете какое-либо событие элемента управления, которое требует обратной передачи.
3.
string aise = "select distinct yearr from programe where course='" + ddcorese.SelectedItem.Text.ToString() + "'";

Приведенный выше код уязвим для SQL-инъекций, и вы должны использовать параметризованный запрос или хранимую процедуру вместо встроенного запроса. Пожалуйста, ознакомьтесь со следующей статьей, чтобы узнать об этом больше-
Атака SQL-инъекций, ее примеры и механизмы предотвращения и методы в ASP.Net[^]
4.
string aise = "select distinct yearr from programe where course='" + ddcorese.SelectedItem.Text.ToString() + "'";

Вместо использования SelectedItem.Text использовать SelectedValue Примечание: поле value должно содержать необходимые данные, чтобы это работало .
5. Убедитесь, что значение выбирается в выпадающем ddcorese.
6. используйте стандартное и безошибочное написание английских слов, чтобы было меньше шансов опечаток.
7. Удалите следующие 3 строки, так как они не имеют значения для checkboxlist
ListItem liq = new ListItem();
 liq.Value = "--Select--";
 r1.Items.Add(liq.ToString());

8. Замените следующие 3 строки со следующим -

r1.DataTextField = "yearr";
r1.DataValueField = "yearr";
r1.DataSource = sid;
r1.DataBind();



Если проблема все еще сохраняется, пожалуйста, дайте мне знать.

Надеюсь, это поможет :)