无法设置列表视图项的值

本文关键字:视图 列表 设置 | 更新日期: 2023-09-27 18:36:03

我在设置嵌套列表视图(lsitview内的列表视图)中的文本框的值时遇到问题。我正在尝试做的是提取两个文本框的值(工作正常),将它们相乘,然后将该值设置为第三个文本框(我遇到麻烦的地方)。

这是我拥有的列表视图设置:

<asp:ListView ID="LV_Tickets" runat="server" ClientIDMode="Static" DataSourceID="SQL_Tickets" InsertItemPosition="FirstItem" OnPreRender="LV_Tickets_PreRender" DataKeyNames="TicketNum">
<SelectedItemTemplate>
     <asp:ListView ID="LV_TicketProd" runat="server" DataKeyNames="ChargeID" DataSourceID="SQL_TicketProducts" InsertItemPosition="LastItem" OnPreRender="LV_TicketProd_PreRender" OnItemInserted="LV_TicketProd_ItemInserted" OnItemInserting="LV_TicketProd_ItemInserting" OnItemUpdated="LV_TicketProd_ItemUpdated" OnItemUpdating="LV_TicketProd_ItemUpdating">
<InsertItemTemplate>
     <td>
         <asp:TextBox ID="HoursOrCubesTextBox" runat="server" style="height: 20px; width: 165px;" Text='<%# Bind("HoursOrCubes") %>' OnTextChanged="HoursOrCubes_TextChanged" AutoPostBack="true" />
     </td>
     <td>
          <asp:TextBox ID="RateTextBox" runat="server" style="height: 20px; width: 120px;" Text='<%# Bind("Rate") %>' OnTextChanged="Rate_TextChanged" AutoPostBack="true" />
     </td>
     <td>
          <asp:TextBox ID="LineTotalTextBox" runat="server" style="height: 20px; width: 120px;" Text='<%# Bind("LineTotal") %>' />
     </td>
</ InsertItemTemplate>
</ SelectedItemTemplate>

我从HoursOrCubesTextBoxRateTextBox中获取值的当前方法是:

protected void HoursOrCubesTextBox_TextChanged(object sender, EventArgs e)
{
    ListView LV_TicketProd = (ListView)Session["TicketProd"];
    TextBox HoursOrCubesTextBox = (TextBox)(LV_TicketProd.InsertItem.FindControl("HoursOrCubesTextBox"));
    string HoC = HoursOrCubesTextBox.Text //This here is getting the value from the textbox.
}

但是当我尝试做相反的事情来设置文本框的值时,没有任何反应:

TextBox LineTotalTextBox = (TextBox)(LV_TicketProd.InsertItem.FindControl("LineTotalTextBox"));
LineTotalTextBox.Text = FinalValue; //FinalValue is the two values multiplied together.

检查了来自文本框的值是否正确,并且当我将它们相乘时,我得到一个整数值。所以我不完全确定为什么我不能设置LineTotalTextBox的值。任何帮助将不胜感激。

无法设置列表视图项的值

不要尝试读取和写入项模板。 这是ListView的工作。

读取和写入 ListView 绑定到的数据源。

如果我的意思,我会展示示例,但我无法弄清楚您的代码......您是从 SQL 数据库还是从用户输入填充列表视图?

我想

出了解决这个问题的方法。我所做的是将两个文本框设置为 HoursOrCubesRate 自动回发,然后在 onload 函数中对文本框进行乘法和设置。