2015-09-28 2 views
0

Это моей странице входа в систему, предположим, что пароль и имя пользователя правильно и получить некоторые данные с помощью сеанса:Получить текст DROPDOWNLIST из сгенерированного ListItem

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.SqlClient; 
using MSSQLConnector; 
using System.Data; 

namespace SoftwareAnalysisAndDesign.SAD 
{ 
    public partial class OnlineAppSyss : System.Web.UI.Page 
    { 
     private MSConnector connector = new MSConnector(); 
     string teachersubjectlistquery = null; 
     private DataSet teachersubjectlistData; 
     private DataTable teacheraccountdetailsTable; 

     protected void Page_Load(object sender, EventArgs e) 
     { 
     } 
     protected void Button1_Click(object sendet, EventArgs e) 
     { 
      Teacher(); 
     } 
     public void Teacher() 
     { 
      //Connection String 
      connector.ConnectionString = "Data Source=keith;Initial Catalog=SAD;Integrated Security=True"; 

      //Subject List     
      teachersubjectlistquery = "select distinct CourseNo from AssessmentForm where TeacherID =" + username + ""; 
      teachersubjectlistData = connector.ExecuteQuery(teachersubjectlistquery); 
      teachersubjectlistTable = teachersubjectlistData.Tables[0]; 
      Session["TeacherSubjectList"] = teachersubjectlistTable; 
     } 
    } 

Я прохожу DataTable «teachersubjectlistTable» в другой используя сеанс.

На моей странице учителя я объявляю dropdownlist для создания элементов, используя сеанс ["TeacherSubjectList"].

<asp:DropDownList runat="server" ID="SubjectList"></asp:DropDownList> 

Его якорь тег перейти к ValidateSubject Страница:

<a class="btn btn-block" style="margin-top:-37px;margin-left:65px;" runat="server" onserverclick="TeacherSubjects_Click">Proceed</a> 

и его код позади:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data; 
using System.Data.SqlClient; 
using MSSQLConnector; 

namespace SoftwareAnalysisAndDesign.SAD 
{ 
    public partial class TeacherPage : System.Web.UI.Page 
    { 
     private MSConnector connector = new MSConnector(); 
     private DataSet SubjectlistData; 
     private DataTable SubjectlistTable; 
     string query = null; 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      //Populate The Select Tag with Subjects 
      SubjectList.DataSource = Session["TeacherSubjectList"]; 
      SubjectList.DataTextField = "CourseNo"; 
      SubjectList.DataValueField = "CourseNo"; 
      SubjectList.DataBind(); 
     } 
     protected void TeacherSubjects_Click(object sender, EventArgs e) 
     { 
      string getText = SubjectList.SelectedItem.Text; 
      //Connection String 
      connector.ConnectionString = "Data Source=keith;Initial Catalog=SAD;Integrated Security=True"; 

      query = "select StudentID,CourseNo,CourseDescription,Units,Day,StartTime,EndTime,Room,Instructor,Amount,Status from assessmentform where CourseNo = '" + getText + "'"; 

      SubjectlistData = connector.ExecuteQuery(query); 
      SubjectlistTable = SubjectlistData.Tables[0]; 

      //Add a colum check row 
      SubjectlistTable.Columns.Add("Check", Type.GetType("System.Boolean")); 

      Session["ValidateSubject"] = SubjectlistTable; 

      Response.Redirect("ValidateSubjectTeacher.aspx"); 
     } 
    } 
} 

в моей другой ASPX странице (ValidateSubject), я объявляю Gridview в качестве владельца Сессия:

<asp:GridView runat="server" CssClass="table table-hover table-bordered" ID="ValidateSubject" Style="text-align: center"></asp:GridView> 

и его ASPX код позади:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace SoftwareAnalysisAndDesign.SAD 
{ 
    public partial class ValidateSubjectTeacher : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      ValidateSubject.DataSource = Session["ValidateSubject"]; 
      ValidateSubject.DataBind(); 
     } 
    } 
} 

Я не могу получить выбранный элемент в моей DropDownList (TeacherPage), это будет только получить данные первого выбранного элемента.

В моей моей DropDownList (TeacherPage) два пункта были получены с использованием запросов:

CmpE 515 
CmpE 516 

Но когда я выбираю «CmpE 516» Пункт и нажмите кнопку продолжить, то данные отображаются лишь " CmpE 515 ". Как получить другие элементы/значения в моем раскрывающемся списке, чтобы отображать определенные данные, если пользователь нажимает на определенный элемент?

Этот код здесь:

string getText = SubjectList.SelectedItem.Text; 

это будет только текст данные «CmpE 515», даже если я выбираю «CmpE 516» и нажмите кнопку. Как получить другие элементы в моем раскрывающемся списке?

ответ

1

Вы не должны связать выпадающий список Каждый раз, когда страница загружается, используйте IsPostBack свойство, чтобы проверить, если страница загружается в первый раз, и только в этом случае связать ваш выпадающий список, как это: -

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!IsPostBack) 
    { 
      //Populate The Select Tag with Subjects 
      SubjectList.DataSource = Session["TeacherSubjectList"]; 
      SubjectList.DataTextField = "CourseNo"; 
      SubjectList.DataValueField = "CourseNo"; 
      SubjectList.DataBind(); 
    } 
    } 

То же самое относится и к вашему ValidateSubjectTeacher страница как.

+0

Можно ли добавить функцию if в кнопку события клика не в событие page_load? –

+1

@laurencekeithalbano - Не понял? Щелчок по кнопке в любом случае будет обратной почтой? Поэтому не имеет смысла проверять это свойство. –

+0

О, это работает! :) спасибо, –

Смежные вопросы