将下拉列表绑定到SqlDataSource

时间:2015-01-28 18:35:26

标签: c# asp.net

我的表单上有20个文本框和一个下拉列表。

我正在使用EditItemTemplateSqlDataSource来编辑和插入数据。

我用文本框替换了一个下拉列表,但事情并没有奏效。使用文本框,表单工作正常。

最初,我有:

<asp:TextBox ID="IDTextBox" runat="server" Text='<%# Bind("EPMProjectUID") %>'/>

<asp:SqlDataSource ID="dsManageProject" runat="server" 
     SelectCommand="SELECT [EPMProjectUID] from Table"
     UpdateCommand="UPDATE [Table] SET [EPMProjectUID] = @EPMProjectUID "
     InsertCommand="Insert into [Table] values(EPMProjectUID)"
     <SelectParameters>
         <asp:Parameter Name="EPMScheduleUID"  />
     </SelectParameters>
     <UpdateParameters>
         <asp:Parameter Name="EPMScheduleUID"  />
     </UpdateParameters>
     <InsertParameters>
         <asp:Parameter Name="EPMScheduleUID"  />
     <InsertParameters>
</asp:SqlDataSource>

事情正在发挥作用,我用它来获取数据并对其进行更新甚至存储。

但是现在,我想要一个下拉列表,所以我添加了

<asp:DropDownList ID="UIDDropDownList" runat="server"></asp:DropDownList>

在cs文件中,我写了

  DB db1 = new DB(Global.ConnStringName);
  db1.QueryText = @"SELECT UID, ProjectName FROM Table ";
  DataTable dt = db1.GetDataTable();
  DropDownList ddlUID = (DropDownList)FormView1.FindControl("UIDDropDownList");

  if (ddlUID != null)
  {
      ddlUID.DataSource = dt;
      ddlUID.DataTextField = "ProjectName";
      ddlUID.DataValueField = "UID";
      ddlUID.DataBind();
  }

这有助于我加载数据,但如果我尝试插入/更新任何内容,它会存储为null。

0 个答案:

没有答案