listview持久插入值

时间:2012-08-28 20:43:18

标签: c# asp.net listview

“我有一个ListView,其中包含要编辑的项目和插入内容。

插入项目模板有几个文本框但是我想让其中一个文本框只读,并在其中保留一个值,该值将在每次插入后保留。

<InsertItemTemplate>
<tr style="">
<td>
    <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" />
    <asp:Button ID="CancelButton" runat="server" CommandName="Cancel"  Text="Clear" />
</td>
<td>
    <asp:TextBox ID="tc_dateTextBox" runat="server" Text='<%# Bind("tc_date") %>' />
</td>
<td>
    <asp:TextBox ID="tc_costTextBox" runat="server" Text='<%# Bind("tc_cost") %>' />
</td>
<td>
    <asp:TextBox ID="tc_typeTextBox" runat="server" Text='<%# Bind("tc_type") %>' />
</td>
<td>
    <asp:TextBox ID="tc_commentTextBox" runat="server" Text='<%# Bind("tc_comment") %>' />
</td>
<td> &nbsp;</td>
<td>
    <asp:TextBox ID="tc_t_idTextBox" runat="server" Text='<%# Bind("tc_t_id") %>' Width="15" ReadOnly="true"  />
</td>
</tr>
</InsertItemTemplate>

tc_t_idTextBox是我只读的那个,并且希望它是在每个插入上保持相同值的框。

2 个答案:

答案 0 :(得分:1)

为了使TextBox只读,您需要设置ReadOnly = true

示例:

<asp:TextBox ReadOnly="True"...

答案 1 :(得分:0)

我终于想出了如何解决我的问题。 我的工作是在页面中添加一个隐藏字段。

<asp:HiddenField ID="h_tc_t_id_holder" Value="0" runat="server" />

在后面的代码中我将值设置为隐藏字段。

h_tc_t_id_holder.Value = App_id;

在列表视图中添加

OnPreRender="ListView1_OnPreRender"

在codebehind中

protected void ListView1_OnPreRender(object sender, EventArgs e)
{   
    ListView1.DataBind();
    ((TextBox)ListView1.InsertItem.FindControl("tc_t_idTextBox")).Text = h_tc_t_id_holder.Value;
}