Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > ช่วยหน่อยครับ เรื่อง dropdownlist แล้วมัน Error ว่า 'DropDownList8' has a SelectedValue which is invalid because it does not exist in the list of items. Parameter name: value



 

ช่วยหน่อยครับ เรื่อง dropdownlist แล้วมัน Error ว่า 'DropDownList8' has a SelectedValue which is invalid because it does not exist in the list of items. Parameter name: value

 



Topic : 039057

Guest




ผมส่งค่าจากหน้าที่1 ที่เป็น sesssion Session["Nationality1"] = nationality.Text;

ส่งไปหน้าที่ 2 ซึ่งส่งเข้า dropdownlist ที่ผมเชื่อมต่อกับ datasource ไว้ด้วยครับ

DropDownList8.Text = Session["Nationality1"].ToString();

แล้วมัน error ว่า
'DropDownList8' has a SelectedValue which is invalid because it does not exist in the list of items.
Parameter name: value

มันเกิดจากอะไรคับ

ขอบคุณคับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-02-16 15:41:56 By : kiko View : 2921 Reply : 21
 

 

No. 1



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


คุณจะกำหนด Slected Value ให้ DropDownList8 ใช่ไหมครับ?






Date : 2010-02-16 16:18:39 By : tungman
 


 

No. 2



โพสกระทู้ ( 373 )
บทความ ( 0 )



สถานะออฟไลน์


DropDownList8.Text = Session["Nationality1"].ToString();

dropdownlist คุณ ใส่ text เข้าไปไม่ได้ครับ คุณต้องใส่เป็น Item เข้าไป

DropDownList8.Items.Add(Session["Nationality1"].ToString());

ทำนองนี้ครับ
Date : 2010-02-16 16:41:09 By : numenoy
 

 

No. 3

Guest


dropdownlist 8 เชือมต่อกับ datasorce อยู่อะคับ

ลอง ทำ DropDownList8.Items.Add(Session["Nationality1"].ToString());

แล้วครับ ไม่ error แต่ไม่ค่าเข้า dropdownlist8 คับ
Date : 2010-02-17 14:11:19 By : kiko
 


 

No. 4

Guest


เงียบจัง ....
Date : 2010-02-17 22:50:11 By : kiko
 


 

No. 5



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Quote:
เงียบจัง ....

ก็ไม่มีใครมีหน้าที่ว่าจะต้องมาตอบคำถามนี่

Code (C#)
foreach (ListItem item in DropDownList8.Items)
{
    if (item.Value == Session["Nationality1"].ToString())
    {
        item.Selected = true;
    }
}

Date : 2010-02-18 08:07:05 By : tungman
 


 

No. 6

Guest


ขอบคุณคับ แต่ยังไม่ได้เลบ - -"
Date : 2010-02-18 10:03:23 By : kiko
 


 

No. 7



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


เดาให้

Code (C#)
foreach (ListItem item in DropDownList8.Items)
{
    if (item.Text == Session["Nationality1"].ToString())
    {
        item.Selected = true;
    }
}


ที่หลังคำว่าคับเขาเขียนแบบนี้ --> ครับ

เขียนภาษาไทยแบบถูกต้องผื่นไม่ขึ้นหรอกเชื่อดิ
Date : 2010-02-18 10:39:43 By : tungman
 


 

No. 8

Guest


ครับ

ยังไม่ได้เลย อ่ะ

มีวิธีอื่นไหมครับ
Date : 2010-02-18 12:58:35 By : kiko
 


 

No. 9



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ไม่ได้อะแปลกแล้ว ผมเองใช้วิธีนี้อยู่ก็ใช้ได้นี่ ต้องลองตรวจสอบค่าระหว่าง Session["Nationality1"].ToString() กับ item.Value หรือ item.Text แล้วล่ะแบบนี้ว่าทำไมถึงไม่ตรง

ลองให้มันแสดงค่าออกมาดู
Date : 2010-02-18 13:15:25 By : tungman
 


 

No. 10

Guest


Code (C#)
protected void Page_Load(object sender, EventArgs e)
    {

        TextBox1.Text = Session["UserNameCustomer1"].ToString();
        TextBox2.Text = Session["Password1"].ToString();
         TextBox3.Text = Session["FirstName1"].ToString();
        TextBox4.Text = Session["LastName1"].ToString();
     
  foreach ListItem item in DropDownList8.Items
{ 
   
if (item.Value == Session["Nationality1"].ToString()) 
{       
item.Selected = true; 
} 
}


ลองดูให้หน่อยครับ
ใช้แล้ว มัน error ตรง บรรทัด foreach ListItem item in DropDownList8.Items ครับ
Date : 2010-02-18 13:44:47 By : kiko
 


 

No. 11



โพสกระทู้ ( 108 )
บทความ ( 0 )



สถานะออฟไลน์


Code (VB.NET)
         'page 1
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        Session.Contents("TEST") = TextBox1.Text
        Response.Redirect("Default2.aspx")
    End Sub


'page 2
 Dim a As String = Session.Contents("TEST")

        dl1.Items.Clear()
        dl1.Items.Add(a)
        dl1.SelectedIndex = 0



ลองเปลี่ยนเป็น c# ดูนะคะ
Date : 2010-02-18 14:01:26 By : njnight
 


 

No. 12



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Quote:
protected void Page_Load(object sender, EventArgs e)
{

TextBox1.Text = Session["UserNameCustomer1"].ToString();
TextBox2.Text = Session["Password1"].ToString();
TextBox3.Text = Session["FirstName1"].ToString();
TextBox4.Text = Session["LastName1"].ToString();

foreach ListItem item in DropDownList8.Items
{

if (item.Value == Session["Nationality1"].ToString())
{
item.Selected = true;
}
}

ลองดูให้หน่อยครับ
ใช้แล้ว มัน error ตรง บรรทัด foreach ListItem item in DropDownList8.Items ครับ


ไหนบอกว่า

Quote:
ส่งไปหน้าที่ 2 ซึ่งส่งเข้า dropdownlist ที่ผมเชื่อมต่อกับ datasource ไว้ด้วยครับ


DropDownList8 มันไป bind data ตอนไหนเนี่ย มันยังไม่มี listitem collection เลยสักตัว

เอาไปวนวูป check ค่ามันก็ error อะดิ
Date : 2010-02-18 14:16:37 By : tungman
 


 

No. 13



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ถ้าจะไม่ให้ error ตรงทำคล้ายๆ แบบนี้

Code (C#)
protected void Page_Load(object sender, EventArgs e)
{
    TextBox1.Text = Session["UserNameCustomer1"].ToString();
    TextBox2.Text = Session["Password1"].ToString();
    TextBox3.Text = Session["FirstName1"].ToString();
    TextBox4.Text = Session["LastName1"].ToString();

    DropDownList8.DataSource = ?????; //<-- อะไรที่คุณว่าเป็น datasource ของ dropdownlist นั่นน่ะ
    DropDownList8.DataTextField = "?????";
    DropDownList8.DataValueField = "?????";
    DropDownList8.DataBind();

    foreach (ListItem item in DropDownList8.Items)
    {
        if (item.Value == Session["Nationality1"].ToString())
        {
              item.Selected = true;
        }
    }
}

Date : 2010-02-18 14:19:54 By : tungman
 


 

No. 14



โพสกระทู้ ( 373 )
บทความ ( 0 )



สถานะออฟไลน์


Code (C#)
for (int i = 0; i < DropDownList8.Items.Count; i++ )
{
                if (DropDownList8.Items[i].ToString() == Session["Nationality1"].ToString())
                {
                    DropDownList8.SelectedItem = DropDownList8.Items[i];
                }
}


ผมว่า ListItem คุณไม่มีครับ เพราะ class นี้ ไม่มีใน default ของ .net ต้องมีการสร้างไว้เอง ถ้ามีจริงๆ ผมขอ class นี้บ้างนะครับ กำลังอยากศึกษา
Date : 2010-02-18 14:34:29 By : numenoy
 


 

No. 15

Guest


เชื่อม ต่อกับ datasource ตรงหน้า interface ที่มี click choose datasource อะคับ
Date : 2010-02-18 14:46:22 By : kiko
 


 

No. 16



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ขอโทษครับ foreach มันต้องมี ( กับ )

ลองแก้ตามด้านบนใหม่ครับ (ผมเขียนทั้ง vb กับ c# ตอนนี้มันเริ่มตีกันแล้ว)

ส่วนคุณ numenoy ครับ ListItem Class สามารถศึกษาได้ที่นี่ครับ http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listitem.aspx
Date : 2010-02-18 14:53:15 By : tungman
 


 

No. 17



โพสกระทู้ ( 373 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับ คุณ tungman ผมไม่ทันเห็นการใช้ datasource แบบนี้ ปกติจะ coding เองหมด ขอบคุณครับ
Date : 2010-02-18 15:56:13 By : numenoy
 


 

No. 18



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ขอโทษเช่นกันครับ ลืมไปว่ามัน bind ได้ที่หน้า design ด้วย เพราะปกติจะกำหนด property

ให้ controls ต่างๆ ด้วย dynamic code ส่วนหน้า design ใช้จัด layout อย่างเดียว
Date : 2010-02-18 16:11:20 By : tungman
 


 

No. 19

Guest


ตกลง ยังไงอะครับ

ผม งงๆ

พี่ช่วย พิพใหม่หน่อยครับ
Date : 2010-02-19 10:35:20 By : kiko
 


 

No. 20



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ยังไม่ได้อีกเหรอ นี่ง่ายๆ เลยนะ

Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server">
        </asp:DropDownList>
    </div>
    </form>
</body>
</html>


Default.aspx.cs
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //สร้าง SqlDataSource เพื่อ Bind ให้ DropDownList1
        string SqlConnectionString = "Your connection string.";
        string SqlCommandString = "Select [ClassID], [ClassName] From [Global_UserClass]";
        SqlDataSource DataSource = new SqlDataSource(SqlConnectionString, SqlCommandString);

        //Bind data ให้ DropDownList1
        DropDownList1.DataSource = DataSource;
        DropDownList1.DataTextField = "ClassName";
        DropDownList1.DataValueField = "ClassID";
        DropDownList1.DataBind();

        //ให้ ListItem ที่มี Value = 5 เป็น Selected Item
        foreach (ListItem item in DropDownList1.Items)
        {
            if (item.Value == "5")
                item.Selected = true;
        }
    }
}

Date : 2010-02-19 11:41:41 By : tungman
 


 

No. 21

Guest


ขอบคุณ คุณ tungman มากๆเลยนะครับ

ตอบให้ผมเยอะมากเลย ^^
Date : 2010-02-19 20:19:14 By : kiko
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยหน่อยครับ เรื่อง dropdownlist แล้วมัน Error ว่า 'DropDownList8' has a SelectedValue which is invalid because it does not exist in the list of items. Parameter name: value
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่