asp.net – SelectedValue对DropDownList的SelectedItem.Value
|
我正在编写一个旧项目,然后由几个人修补多年。在某些地方,他们使用SelectedValue属性和其他使用SelectedItem.Value的地方。 问题:SelectedValue只是SelectedItem.Value或SelectedValue的语法糖在引擎盖下工作不同吗?哪一个更好? 编辑:SelectedItem.Text被替换为SelectedItem.Value 解决方法SelectedValue返回与SelectedItem.Value相同的值。SelectedItem.Value和SelectedItem.Text可能具有不同的值,并且性能不是这里的因素,只有这些属性的含义很重要。 <asp:DropDownList runat="server" ID="ddlUserTypes">
<asp:ListItem Text="Admins" Value="1" Selected="true" />
<asp:ListItem Text="Users" Value="2"/>
</asp:DropDownList>
这里,ddlUserTypes.SelectedItem.Value == ddlUserTypes.SelectedValue,两者都返回值“1”。 ddlUserTypes.SelectedItem.Text将返回“Admins”,这与ddlUserTypes.SelectedValue不同 编辑 在引擎盖下,SelectedValue看起来像这样 public virtual string SelectedValue
{
get
{
int selectedIndex = this.SelectedIndex;
if (selectedIndex >= 0)
{
return this.Items[selectedIndex].Value;
}
return string.Empty;
}
}
和SelectedItem看起来像这样: public virtual ListItem SelectedItem
{
get
{
int selectedIndex = this.SelectedIndex;
if (selectedIndex >= 0)
{
return this.Items[selectedIndex];
}
return null;
}
}
这两个属性之间的一个主要区别是SelectedValue也有一个setter,因为SelectedItem没有。 SelectedValue的getter在编写代码时更快,执行性能的问题没有真正的理由要讨论。此外,SelectedValue的一个很大的优点是使用Binding表达式时。 编辑数据绑定场景(您不能使用SelectedItem.Value) <asp:Repeater runat="server">
<ItemTemplate>
<asp:DropDownList ID="ddlCategories" runat="server"
SelectedValue='<%# Eval("CategoryId")'>
</asp:DropDownList>
</ItemTemplate>
</asp:Repeater> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在自定义Html帮助器中访问模型对象
- asp.net – Visual Studio 2013更改现有项目的身份验证
- asp-classic – 从头开始在Visual Studio 2010中创建经典的
- asp.net – 形式auth超时和会话超时的差异
- 如何从ASP.NET身份获取用户列表?
- asp.net-mvc-4 – 访问路径“/ etc/mono/registry”被拒绝
- asp.net – 如何使用Log4Net启用IP地址记录
- asp.net-mvc – 使用URL重写时Url.Action不正确
- asp.net – MVC控制器和视图应该有1到1的关系吗?
- asp.net-mvc – 使用MVC 4和实体框架填充DropDownList
- asp.net vb用户控件在调用页面上引发一个事件
- asp.net-mvc – 如何告诉Ninject绑定到它没有引用
- asp.net-mvc-3 – 在MVC 3的浏览器选项卡中打开P
- 如何以编程方式将ListItems添加到ASP.NET中的Dro
- asp.net-mvc – 奇怪的MVC问题
- 一段时间后的第一个请求总是很慢 – ASP.NET MVC
- asp.net-mvc – 通过NuGet升级到Microsoft.AspNe
- asp.net-mvc – ASP.NET MVC和Visual Studio 201
- asp.net 文章分页显示实现代码
- asp.net – LINQ to SQL – 如何选择特定的列和返
