0

「編集するアイテムと挿入するアイテムを含むListViewがあります。

挿入アイテムテンプレートにはいくつかのテキストボックスがありますが、テキストボックスの1つを読み取り専用にし、挿入するたびに保持される値を保持したいと思います。

<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は私が読み取り専用に作成したものであり、すべての挿入で同じ値を保持するボックスにしたいと考えています。

4

2 に答える 2

1

TextBoxを読み取り専用にするには、ReadOnly=trueを設定する必要があります

例:

<asp:TextBox ReadOnly="True"...
于 2012-08-28T22:42:42.853 に答える
0

私はついに自分の問題を解決する方法を見つけました。私の回避策は、ページに非表示のフィールドを追加することでした。

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

コードビハインドでは、値を非表示フィールドに設定しました。

h_tc_t_id_holder.Value = App_id;

リストビューで追加します

OnPreRender="ListView1_OnPreRender"

そしてコードビハインドで

protected void ListView1_OnPreRender(object sender, EventArgs e)
{   
    ListView1.DataBind();
    ((TextBox)ListView1.InsertItem.FindControl("tc_t_idTextBox")).Text = h_tc_t_id_holder.Value;
}
于 2012-08-29T18:19:13.277 に答える