Organizational Research By

Surprising Reserch Topic

selectedvalue vs selecteditem value of dropdownlist


selectedvalue vs selecteditem value of dropdownlist  using -'asp.net,.net,drop-down-menu'

I'm working on an old project written and then patched by several people over the years. At some places they have used SelectedValue property and other places they used SelectedItem.Value.

Question: Is SelectedValue just a syntactic sugar for SelectedItem.Value or SelectedValue works differently under the hood? Which one performs better?

Edit: SelectedItem.Text was replaced with SelectedItem.Value
    

asked Oct 19, 2015 by girisha
0 votes
2 views



Related Hot Questions

4 Answers

0 votes

SelectedValue returns the same value as SelectedItem.Value.

SelectedItem.Value and SelectedItem.Text might have different values and the performance is not a fator here, only the meanings of these properties matters.


    
    

here ddlUserTypes.SelecteItem.Value == ddlUserTypes.SelectedValue and both gives "1"

ddlUserTypes.SelectedItem.Text is "Admins", which is different from ddlUserTypes.SelectedValue

edit

under the hood, SelectedValue looks like this

public virtual string SelectedValue
{
    get
    {
        int selectedIndex = this.SelectedIndex;
        if (selectedIndex >= 0)
        {
            return this.Items[selectedIndex].Value;
        }
        return string.Empty;
    }
}

and SelectedItem looks like this:

public virtual ListItem SelectedItem
{
    get
    {
        int selectedIndex = this.SelectedIndex;
        if (selectedIndex >= 0)
        {
            return this.Items[selectedIndex];
        }
        return null;
    }
}

One major difference between these two properties is that the SelectedValue has a setter also, since SelectedItem doesn't. The getter of SelectedValue is faster to be used when writing code and the problem of execution performance has no real reason to be discussed. Also a big advantage of SelectedValue is when using Binding expressions.

edit data binding scenario (you can't use SelectedItem.Value)


 
     
     
 

answered Oct 19, 2015 by ashish singh
0 votes

One important distinction between the two (which is visible in the Reflected code) is that SelectedValue will return an empty string if a nothing is selected, whereas SelectedItem.Value will throw a NullReference exception.

answered Oct 19, 2015 by amit.gupta
0 votes

They are both different. SelectedValue property gives you the actual value of the item in selection whereas SelectedItem.Text gives you the display text. For example: you drop down may have an itme like


So, in this case SelectedValue would be de and SelectedItem.Text would give 'German'

EDIT:

In that case, they aare both same ... Cause SelectedValue will give you the value stored for current selected item in your dropdown and SelectedItem.Value will be Value of the currently selected item.

So they both would give you the same result.

answered Oct 19, 2015 by girisha
0 votes

In droupDown list there are two item add property.

1) Text 2) value

If you want to get text property then u use selecteditem.text

and If you want to select value property then use selectedvalue property

In your case i thing both value and text property are the same so no matter if u use selectedvalue or selecteditem.text

If both are different then they give us different results

answered Oct 19, 2015 by akhilesh

...