Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    So sánh giá trị chọn trong dropdownlist với giá trị của textbox

    Em có vấn đề này mà em viết code nó không chạy nên nhờ các anh chị giúp đỡ !

    + 1 textbox: txtMaPhong (trong này em nhập các chuỗi như :C1.101,c1.102,c2.101,...)
    + 1 dropdownlist : drDayNha ( chứa các giá trị như : C1, C2,...,C6)
    + 1 label : LbThongBaoLoi, LbThongBaoLoi có text là "Xem lại dãy nhà".
    Em muốn khi chọn 1 phần tử trong drDayNha thì kiểm tra xem:
    Nếu giá trị của txtMaPhong mà bắt đầu bằng giá trị của drDayNha ( ví dụ C1.101 bắt đầu bằng C1) thì LbThongBaoLoi không được hiển thị.
    Nếu ngược lại thì LbThongBaoLoi được hiển thị.
    Code em viết như sau :
    Mã:
     
       protected void DrDayNha_TextChanged(object sender, EventArgs e)
        {
            string MaP = txtMaPhong.Text.ToString();
            if (MaP.StartsWith(drDayNha.SelectedValue.ToString()) == false) LbThongBaoLoi.Visible = true;
            else  LbThongBaoLoi.Visible = true;
        }
    Em cũng đã cho đoạn code trên vào sự kiện :
    Mã:
      protected void DrDayNha_SelectedIndexChanged(object sender, EventArgs e)
        {
            string MaP = txtMaPhong.Text.ToString();
            if (MaP.StartsWith(drDayNha.SelectedValue.ToString()) == false) LbThongBaoLoi.Visible = true;
            else  LbThongBaoLoi.Visible = true;
        }
    Nhưng em không thu được kết quả như mong muốn . Mong các anh, chị giúp đỡ !

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi thuoctg
    Mã:
     
            if (MaP.StartsWith(drDayNha.SelectedValue.ToString()) == false) LbThongBaoLoi.Visible = true;
    Mã:
            if (MaP.StartsWith(drDayNha.SelectedValue.ToString()) == false) LbThongBaoLoi.Visible = true;
    đoạn này mình nghĩ bạn làm chưa đúng, vì đây là bạn lấy value của dropdowlist, chứ k phải là lấy cái chữ hiển thị

    Mã:
    protected void DrDayNha_TextChanged(object sender, EventArgs e)
    {
            // nếu chuỗi truyền vào là 1 dấu space thì k làm gì bên web  thì bạn dùng javascript bắt cho nhe.
            if((txtMaPhong.Text.Trim().Length) < 1)
            {
               return;
            }
            string MaP = txtMaPhong.Text.Trim().ToString();// .Trim() để loại bỏ khoảng trống
            if (MaP.StartsWith(drDayNha.SelectedText.ToString()) == false) 
             {
                  // LbThongBaoLoi.Visible = true; nên để 1 cái label null sau đó set giá trị text cho nó
                  LbThongBaoLoi.Text = "Phòng này thuộc dãy: " + drDayNha.SelectedText.ToString();
              }
            else 
             {
                 LbThongBaoLoi.Text  = "";
              }
    }
    Đại loại là như thế bạn Debug để tìm ra lỗi nhanh hơn

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •