0

我很难弄清楚我在这里做错了什么。在我的编辑项目模板中,我的下拉列表有以下代码:

<asp:DropDownList ID="dd_is_active" runat="server" AppendDataBoundItems="true"
 DataValueField="Enabled">
 <asp:ListItem Text="Yes" Value="1"></asp:ListItem>
 <asp:ListItem Text="No" Value="0"></asp:ListItem>
 </asp:DropDownList>
 <asp:HiddenField ID="is_activeTextBox" runat="server" Value='<%# Bind("Enabled") %>' />

这是我的 aspx.cs 代码:

 protected void ListView1_ItemInserting(object sender, ListViewInsertEventArgs e)
{
    e.Values["SUB_last_modified_date"] = DateTime.Now.ToString();
    e.Values["SUB_last_modified_by_user_id"] = HttpContext.Current.User.Identity.Name;
    e.Values["SUB_last_modified_by_user_name"] = Session["UserName"].ToString();
    e.Values["Enabled"] = ((DropDownList)(sender as ListView).InsertItem.FindControl("dd_is_active")).SelectedValue;
    e.Values["Category_ID"] = ((DropDownList)(sender as ListView).InsertItem.FindControl("dd_category")).SelectedValue;
}
protected void ListView1_ItemUpdating(object sender, ListViewUpdateEventArgs e)
{
    e.NewValues["SUB_last_modified_date"] = DateTime.Now.ToString();
    e.NewValues["SUB_last_modified_by_user_id"] = HttpContext.Current.User.Identity.Name;
    e.NewValues["SUB_last_modified_by_user_name"] = Session["UserName"].ToString();

}

似乎我的 .cs 代码中缺少某些内容,或者我在 html 代码中错误地绑定了 1 和 0 的值。此完全相同的代码适用于插入项目模板,但更新(或编辑项目模板)无法正常工作。

当我尝试编辑表格中的项目时,我收到一条错误消息,指出输入字符串的格式不正确。我知道它正在尝试绑定“是”或“否”的文本,但我需要将值绑定到“0”或“1”的值。任何帮助是极大的赞赏!

4

1 回答 1

2

我认为您的语法对于 HiddenField 值是错误的。而不是这个

<asp:HiddenField ID="is_activeTextBox" runat="server" Value='<%# Bind("Enabled") '>' />

它应该是

<asp:HiddenField ID="is_activeTextBox" runat="server" Value='<%# Bind("Enabled")%>' />
于 2013-04-23T16:34:15.743 回答