【发布时间】:2013-03-12 19:48:42
【问题描述】:
在 ASP.net 表单上,我有一个按钮和一个下拉列表。 Dropdownlist 通过 LinqDatasource 填充。
我试图在单击按钮时获取选定的下拉列表值。
下拉列表从Northwind db的员工表中获取姓氏列表。
后面的代码就是这样获取ddl值为null的
aspx 页面
<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="Demo._Default" %>
<form id="form1" runat="server">
<asp:DropDownList ID="Ddl_allGoldsets" runat="server"
DataSourceID="LinqDataSource1" DataTextField="LastName"
DataValueField="LastName">
</asp:DropDownList>
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="Demo.linqDataContext" EntityTypeName="" GroupBy="LastName"
OrderGroupsBy="key" Select="new (key as LastName, it as Employees)"
TableName="Employees">
</asp:LinqDataSource>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</form>
代码隐藏
namespace Demo
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
linqDataContext dc = new linqDataContext();
DropDownList ddl = (DropDownList)Page.FindControl("Ddl_allGoldsets");
string val = ddl.SelectedValue;
/* code that writes val into db*/
}
}
}
以上代码将空值返回到ddl!!
【问题讨论】:
-
你的 ddl 数据绑定是什么?删除该行,您的代码可能会工作。
-
删除了 ddl.DataBind() 行,还是同样的错误!谢谢
-
在您的回发中是否有任何数据绑定到您的 ddl?
-
请张贴这些按钮和下拉列表的aspx。
-
无数据绑定!我只是根据对 SO 的一些建议添加了数据库。 Dropdownlist 的数据源是 linqdatasource,它基本上获取字符串列表。下拉列表填充得非常好。