2013-06-09 2 views
0

У меня есть выпадающий элемент управления веб-сервером, который привязан к источнику данных из базы данных. Когда я выбираю значение, оно всегда возвращает значение первого элемента в списке при нажатии кнопки, решите эту проблему .. есть код с использованиемDropdown Returning Неверное значение управления сервером asp.net

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

namespace JobPortel 
{ 
    public partial class receivedresume : System.Web.UI.Page 
    { 
     MemberDTO memberobj; 
     int orgid; 
     Utilities util; 
     String jobidString; 
     List<JobDto> joblist; 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      String UserName = (String)Session["UserName"]; 
      util = new Utilities(); 
      memberobj = util.getMember(UserName); 
      orgid = util.getOrganizationIdFromMember(memberobj.ID); 

       joblist = util.getJobList(orgid); 
       this.joblistdropdown.DataSource = joblist; 
       joblistdropdown.DataTextField = "Jobtitle"; 
       joblistdropdown.DataValueField = "Id"; 
       this.joblistdropdown.DataBind(); 
      } 

      if (IsPostBack) { 

       jobidString = this.joblistdropdown.SelectedValue; 
      } 
     } 
     protected void savebtn_Click(object sender, EventArgs e) 
     { 
      int jobid = 0; 

      jobid = Convert.ToInt32(jobidString); 


      List<MemberDTO> cvlist = new List<MemberDTO>(); 

      using (var db = new jobportaldatabaseEntities1()) { 

       var query = from m in db.Members 
          join p in db.applyjobtables on m.Id equals p.applicantid 
          where p.jobid == jobid 
          select m; 
       foreach (var item in query) 
       { 
        MemberDTO member = new MemberDTO(); 
        member.ID = item.Id; 
        member.FirstName = item.firstname; 
        member.Lastname = item.lastname; 
        member.Location = item.location; 
        member.Mobile = item.mobile; 
        member.Email = item.email; 
        cvlist.Add(member); 
       } 
      } 
      this.cvgridview.DataSource = cvlist; 
      this.cvgridview.DataBind(); 
     } 


    } 
} 

ответ

1

Это очень распространенная проблема, связанная с привязкой выпадающего списка. Здесь ваш список привязывается каждый раз, когда загружается ваша страница, что делает выбранное значение первым элементом раскрывающегося списка, поэтому вам просто нужно связать его, когда он не является обратной передачей с сервера.

if(!IsPostBack) 
{ 
    joblist = util.getJobList(orgid); 
    this.joblistdropdown.DataSource = joblist; 
    joblistdropdown.DataTextField = "Jobtitle"; 
    joblistdropdown.DataValueField = "Id"; 
    this.joblistdropdown.DataBind(); 
} 
+0

благодарит его worked..Can вы объяснить это Aswell ?? что не так? –

+0

Да @ DanishAhmad Я также упомянул подробности. Посмотрите. :) – Sachin

+0

Спасибо, что я принял ваш ответ, жаль, что я был новичком в этом. Я просто сделал это и в будущем буду работать. Спасибо за ур ответ. Благословит вас Бог. –

0

Всякий раз, когда страница загружается снова (Post выгрузить) DROPDOWNLIST получает переплетены с DataSource Снова и Очищает выбранный индекс в DropDownList. Поместите точку останова на событие Page_Load и запустите свой код. Вы поймете это

Приветствия, Gagan

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