Я хочу иметь возможность выбрать опцию из выпадающего списка, а затем отобразить сетку с опцией checkbox и сохранить выбранные параметры в базе данных
Я хочу иметь возможность выбрать опцию из выпадающего списка, а затем отобразить сетку с опцией checkbox и сохранить выбранные параметры в базе данных, но мой код не работает, пожалуйста, проверьте.
Цель состоит в том, чтобы выбрать предмет из таблицы "предметы" через выпадающий список, а затем отобразить соответствующие CourseOutcomes (которые представляют собой несколько строк)
в виде сетки с флажками сбоку, которые затем при выделении сохранят данные в другую таблицу под названием savedCLO.
public partial class ModView : System.Web.UI.Page { SqlConnection con = new SqlConnection(@"Data Source=(localdb)\v11.0;Initial Catalog=facultylog;Integrated Security=True"); protected void Page_Load(object sender, EventArgs e) { { String strConnString = ConfigurationManager.ConnectionStrings["facultylogConnectionString"].ConnectionString; String strQuery = "select Subject_Name from subjects"; SqlConnection con = new SqlConnection(strConnString); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = strQuery; cmd.Connection = con; try { con.Open(); DropDownList1.DataSource = cmd.ExecuteReader(); DropDownList1.DataTextField = "Subject_Name"; DropDownList1.DataBind(); } catch (Exception ex) { throw ex; } finally { con.Close(); con.Dispose(); } } if (!Page.IsPostBack) { refreshdata(); } } public void refreshdata() { SqlCommand cmd = new SqlCommand("select CourseOutcomes from CLO", con); SqlDataAdapter sda = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); sda.Fill(dt); GridView1.DataSource = dt; GridView1.DataBind(); } protected void Button1_Click(object sender, EventArgs e) { foreach (GridViewRow gvrow in GridView1.Rows) { var checkbox = gvrow.FindControl("CheckBox1") as CheckBox; if (checkbox.Checked) { var lblId = gvrow.FindControl("Label1") as Label; var lblSubjectName = gvrow.FindControl("Label2") as Label; var lblCourseOutcomes = gvrow.FindControl("Label3") as Label; SqlCommand cmd = new SqlCommand("insert into savedCLO (Id, SubjectName, CourseOutcomes) values (@Id, @SubjectName, @CourseOutcomes)", con); cmd.Parameters.AddWithValue("Id", lblId.Text); cmd.Parameters.AddWithValue("SubjectName", lblSubjectName.Text); cmd.Parameters.AddWithValue("CourseOutcomes", lblCourseOutcomes.Text); con.Open(); int i = cmd.ExecuteNonQuery(); con.Close(); refreshdata(); } } } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { String strConnString = ConfigurationManager.ConnectionStrings["facultylogConnectionString"].ConnectionString; String strQuery = "select CourseOutcomes from CLO where" + " SubjectName = @Subject_Name"; SqlConnection con = new SqlConnection(strConnString); SqlCommand cmd = new SqlCommand(); cmd.Parameters.AddWithValue("@Subject_Name", DropDownList1.SelectedItem.Value); cmd.CommandType = CommandType.Text; cmd.CommandText = strQuery; cmd.Connection = con; try { con.Open(); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read()) { refreshdata(); } } catch (Exception ex) { throw ex; } finally { con.Close(); con.Dispose(); }
Aspx-файл
<asp:gridview id="GridView1" runat="server" autogeneratecolumns="False" ="" backcolor="White" bordercolor="#DEDFDE" borderstyle="None" borderwidth="1px" cellpadding="4" forecolor="Black" gridlines="Vertical" style="margin-top: 142px"> <alternatingrowstyle backcolor="White"> <columns> <asp:templatefield headertext="ID"> <edititemtemplate> <asp:textbox id="TextBox1" runat="server" text="<%# Bind("Id") %>"> <itemtemplate> <asp:label id="Label1" runat="server" text="<%# Bind("Id") %>"> <asp:templatefield headertext="Subject Name"> <edititemtemplate> <asp:textbox id="TextBox2" runat="server" text="<%# Bind("SubjectName") %>"> <itemtemplate> <asp:label id="Label2" runat="server" text="<%# Bind("SubjectName") %>"> <asp:templatefield headertext="Course Outcomes"> <edititemtemplate> <asp:textbox id="TextBox3" runat="server" text="<%# Bind("CourseOutcomes") %>"> <itemtemplate> <asp:label id="Label3" runat="server" text="<%# Bind("CourseOutcomes") %>"> <asp:templatefield headertext="Select Applicable"> <edititemtemplate> <asp:checkbox id="CheckBox1" runat="server"> <itemtemplate> <asp:checkbox id="CheckBox1" runat="server"> <footerstyle backcolor="#CCCC99"> <headerstyle backcolor="#6B696B" font-bold="True" forecolor="White"> <pagerstyle backcolor="#F7F7DE" forecolor="Black" horizontalalign="Right"> <rowstyle backcolor="#F7F7DE"> <selectedrowstyle backcolor="#CE5D5A" font-bold="True" forecolor="White"> <sortedascendingcellstyle backcolor="#FBFBF2"> <sortedascendingheaderstyle backcolor="#848384"> <sorteddescendingcellstyle backcolor="#EAEAD3"> <sorteddescendingheaderstyle backcolor="#575357"> <asp:dropdownlist id="DropDownList1" runat="server" onselectedindexchanged="DropDownList1_SelectedIndexChanged"> <asp:button id="Button1" runat="server" onclick="Button1_Click" ="" text="Save to Database">
Что я уже пробовал:
Я попробовал приведенный выше код, но он не работает.
Цель состоит в том, чтобы выбрать предмет из таблицы "предметы" через выпадающий список, а затем отобразить соответствующие CourseOutcomes (которые представляют собой несколько строк)
в виде сетки с флажками сбоку, которые затем при выделении сохранят данные в другую таблицу под названием savedCLO.
Пожалуйста, скажите мне, как исправить этот код, я не хочу менять способ, которым я это делаю, я просто хочу исправить текущий код. Мне не нужны альтернативные методы, потому что я перепробовал так много, и все они не работают, спасибо, на данный момент было бы проще просто исправить этот код. Если вы действительно поможете, спасибо, это очень много значит, и я борюсь со всем этим проектом.
F-ES Sitecore
Нам нужно было бы увидеть соответствующие биты разметки на странице aspx, а также определение того, что означает "не работает".
candijen
&ЛТ;АСП:таблицы с ID="gridview1, на" атрибут runat="сервер" autogeneratecolumns="ложных"
="" backcolor="White" bordercolor="#DEDFDE" borderstyle="None" borderwidth="1px" cellpadding="4" forecolor="Black" gridlines="Vertical" style="margin-top: 142px">
<alternatingrowstyle backcolor="Белый">
<столбцы>
<asp:templatefield headertext="ID">
<edititemtemplate>
&ЛТ;АСП:текстовое поле с ID="элемент textbox1" атрибут runat="сервер" текст="&ЛТ;%# Персонализация("идентификатор") %&ГТ;"&ГТ;
<itemtemplate>
&ЛТ;АСП:метка идентификатор="Метка1" атрибут runat="сервер" текст="&ЛТ;%# Персонализация("идентификатор") %&ГТ;"&ГТ;
<asp:templatefield headertext="имя темы">
<edititemtemplate>
&ЛТ;АСП:текстовое поле с ID="поле textbox2" атрибут runat="сервер" текст="&ЛТ;%# Персонализация("subjectname в") %&ГТ;"&ГТ;
<itemtemplate>
&ЛТ;АСП:метка идентификатор="Метка2" атрибут runat="сервер" текст="&ЛТ;%# Персонализация("subjectname в") %&ГТ;"&ГТ;
<asp:templatefield headertext="результаты курса">
<edititemtemplate>
&ЛТ;АСП:текстовое поле с ID="textbox3 и" атрибут runat="сервер" текст="&ЛТ;%# Персонализация("CourseOutcomes") %&ГТ;"&ГТ;
<itemtemplate>
&ЛТ;АСП:метка идентификатор="Метка3" атрибут runat="сервер" текст="&ЛТ;%# Персонализация("CourseOutcomes") %&ГТ;"&ГТ;
<asp:templatefield headertext="выбрать применимое">
<edititemtemplate>
<asp:checkbox id="CheckBox1" runat="сервер">
<itemtemplate>
<asp:checkbox id="CheckBox1" runat="сервер">
<footerstyle backcolor="#CCCC99">
&ЛТ;headerstyle свойства backcolor="#6B696B" шрифт-жирный="истинный" цвет="белый"и GT;
&ЛТ;pagerstyle свойства backcolor="#F7F7DE" цвет="черный" horizontalalign="Право"и GT;
<rowstyle backcolor="#F7F7DE">
&ЛТ;selectedrowstyle свойства backcolor="шрифт-жирный#CE5D5A"="истинный" цвет="белый"и GT;
<sortedascendingcellstyle backcolor="#FBFBF2">
<sortedascendingheaderstyle backcolor="#848384">
<sorteddescendingcellstyle backcolor="#EAEAD3">
<sorteddescendingheaderstyle backcolor="#575357">
&ЛТ;как ASP:dropdownlist с ИД="DropDownList1" атрибут runat="сервер" onselectedindexchanged="DropDownList1_SelectedIndexChanged"&ГТ;
&ЛТ;АСП:кнопка ID="кнопка 1" атрибут runat="сервер" функция onclick="обработчика button1_click"
="" text="Save to Database">
Не работает означает, что сетка не отображается, когда я выбираю что-то из выпадающего списка