首页 新闻 会员 周边 捐助

怎样获取DropDownList中DataValueField所绑定的值

-1
悬赏园豆:120 [已解决问题] 解决于 2009-09-11 22:38

<asp:DropDownList ID="MotorcadeDropDownList" runat="server" Style="width: 100px"
                            DataSourceID="MotorcadeNameODS" DataTextField="MotorcadeName"
                                DataValueField="MotorcadeID">
                            </asp:DropDownList>
                            <asp:ObjectDataSource ID="MotorcadeNameODS" runat="server" SelectMethod="GetMotorcades"
                                TypeName="BLL.Motorcade"></asp:ObjectDataSource>

就上面的几行代码,页面显示的是可以下拉选取MotorcadeName的值,但是我想在提交服务器时获取的是ID值(MotorcadeID),并将其插入到另一张表中,作为外键关联,可是不知道怎么在后台获取已经绑定好了的DropDownList的DataValueField所绑定的ID值,很急啊

Ecin的主页 Ecin | 初学一级 | 园豆:80
提问于:2009-09-10 17:56
< >
分享
最佳答案
0

DropDownList1.SelectedValue

是这个吗

收获园豆:10
Mr雨 | 小虾三级 |园豆:1199 | 2009-09-10 17:59
不是的,我在后台获取的不是DropDownList1.SelectedValue,而是想要获取绑定的MotorcadeID的值,就是那个DropDownList.DataValueField所绑定的表的主键值,跟你说的没关系
Ecin | 园豆:80 (初学一级) | 2009-09-10 18:01
@一抹红:没明白 等高手分析吧
Mr雨 | 园豆:1199 (小虾三级) | 2009-09-10 20:38
他说的是正确的.....DropDownList1.SelectedItem.Value 和DropDownList1.SelectedValue 都可以获得你要的值,,你自己再好好调试吧! 2楼的回答也是正确的.是补充.说的很详细了!
糊涂而已 | 园豆:135 (初学一级) | 2009-09-11 11:20
“就是那个DropDownList.DataValueField所绑定的表的主键值” 绑定的表的主键值 是不是 MotorcadeID? 如果是的话,那么就是SelectedValue
Cheese | 园豆:509 (小虾三级) | 2009-09-11 18:44
自己弄错了,你说的对啊
Ecin | 园豆:80 (初学一级) | 2009-09-11 22:38
其他回答(2)
0

1楼的回答正确。

 int result = int.Parse(MotorcadeDropDownList.SelectedValue);
int result2 = int.Parse(MotorcadeDropDownList.SelectedItem.Value);
string Text=MotorcadeDropDownList.SelectedItem.Text;

 

这两个int值就是你要的值。你看看你浏览时的页面的源代码。

你数据绑定后的页面源代码应该类似于这样:

 

<select name="MotorcadeDropDownList"  id="MotorcadeDropDownList">
<option value="2">名称2</option>
<option value="3">名称3</option>
<option value="4">名称4</option>
<option value="5">名称5</option>

</select>


其中,value就是你要的值,不是吗?

前面的两个int值就是这个value

可以做个简单的测试 

 <asp:DropDownList ID="MotorcadeDropDownList" runat="server" >
<asp:ListItem Value="2">名称2</asp:ListItem>
<asp:ListItem Value="3">名称3</asp:ListItem>
<asp:ListItem Value="4">名称4</asp:ListItem>
<asp:ListItem Value="5">名称5</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="btnGet" runat="server" OnClick="btnGet_Click" Text="getSelect" />
<asp:Label ID="lbResult" runat="server" Text="0"></asp:Label>

<head runat="server">
<title>UrlToHtml</title>

<script type="text/C#" runat="server">
void btnGet_Click(object sender, EventArgs e)
{
int result = int.Parse(MotorcadeDropDownList.SelectedValue);
int result2 = int.Parse(MotorcadeDropDownList.SelectedItem.Value);
string Text
=MotorcadeDropDownList.SelectedItem.Text;
lbResult.Text
="你选择的ID是:" +result.ToString() + "/" + result2.ToString()+"<br/>你选择的文本是:"+Text;
}
</script>

</head>

 

 

收获园豆:100
邀月 | 园豆:25475 (高人七级) | 2009-09-10 18:41
谢谢啊,问题已弄清楚了
支持(0) 反对(0) Ecin | 园豆:80 (初学一级) | 2009-09-11 22:37
0

DropDownList1.SelectedValue 应该是正确的,

你可能理解错了,

DropDownList1.SelectedValue 获取的就是绑定的“ID”。

DropDownList1SelectItem .Text才是获取“MotorcadeName” 的写法。

收获园豆:10
邢少 | 园豆:10926 (专家六级) | 2009-09-11 09:04
呵呵,使自己弄错了,搞混了啊
支持(0) 反对(0) Ecin | 园豆:80 (初学一级) | 2009-09-11 22:37

@Ecin: 怎么解决的跟我讲下,我也遇到这个问题

支持(0) 反对(0) 骑蜗牛闯世界 | 园豆:200 (初学一级) | 2016-12-13 23:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册