我的表单上有20个文本框和一个下拉列表。
我正在使用EditItemTemplate
和SqlDataSource
来编辑和插入数据。
我用文本框替换了一个下拉列表,但事情并没有奏效。使用文本框,表单工作正常。
最初,我有:
<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。