我有一个待办事项列表,我正在努力将该项目标记为已完成。为此,每个列表视图项上都有一个“完成”按钮,以及一个包含数据库中Id的隐藏字段。然后我使用onClick事件访问该按钮,但是当我单击该按钮时出现错误:
对象引用未设置为对象的实例。
我的列表视图如下:
<asp:ListView ID="ToDo" runat="server">
<ItemTemplate>
<li style="" class="<%# Eval("ToDoPriority")%>">
<%# Eval("ToDoText")%>
<div class="agile-detail">
<asp:LinkButton ID="ToDoComplete" runat="server" CssClass="pull-right btn btn-xs btn-primary" Text="Done" OnClick="ToDoComplete_Click"></asp:LinkButton>
<i class="fa fa-clock-o"></i> <%# Eval("ToDoDate")%>
</div>
</li>
<asp:HiddenField ID="HiddenToDoID" runat="server" Value='<%# Eval("ToDoId") %>' />
</ItemTemplate>
</asp:ListView>
我在C#中的代码是:
protected void ToDoComplete_Click(Object sender, EventArgs e)
{
LinkButton myButton = (LinkButton)sender;
HiddenField todoid = (HiddenField)ToDo.FindControl("HiddenToDoID");
string TodDoId = todoid.Value;
}
我有什么遗漏或有更好的方法吗?