无法从下拉列表ASP.net调用正确的值

时间:2017-06-14 21:18:22

标签: c# asp.net sql-server vb.net

所以在我的网站上,我有一个更改日志系统,通过数据库查询他或她分配的软件和最新的更新日志帖子(很像博客),但仅限于他们分配的软件。

我创建了一个网页,将用户分配给软件(包括角色等)但是我无法正确调用在页面加载期间分配的DataValueField。

绑定表看起来有点像这里的(逗号分隔列表)

  

BindingId,SoftId,UserId

用户表是默认的ASP.net身份表以及用户角色等。

但是,为软件表分配了总行数加1的唯一ID。

我的代码如下(用于下拉列表控件的标准ASP.net代码没什么特别的)

Dim tbladap As New UserDataSetTableAdapters.SoftwareTableAdapter
    SoftDrop.DataSource = tbladap.GetAllData()
    SoftDrop.DataTextField = "SoftName"
    SoftDrop.DataValueField = "SoftId"
    SoftDrop.DataBind()

问题是SoftDrop的SelectedValue总是为1.仅供参考,插入查询在下面

tbladap.Insert(tbladap.GetData().Rows.Count + 1, SoftDrop.SelectedValue, UserDrop.SelectedValue)

感谢任何帮助,谢谢!

2 个答案:

答案 0 :(得分:1)

固定。在提问之前研究不好。

页面加载时加载的所有控件都没有包括:

If Not Page.IsPostBack() Then
'Load the controls
End If

答案 1 :(得分:0)

尝试使用像这样的

tbladap.Insert(tbladap.GetData().Rows.Count + 1, SoftDrop.SelectedItem.Value, UserDrop.SelectedItem.Value)

尝试使用SelectedItem.Text