Используете ли вы текстовые поля как EditItemTemplate?Если это так, в текстовые поля в EditItemTemplate добавьте событие OnTextChanged - Textbox1_OnTextChanged
, как показано ниже.
<asp:DataGrid ID="Grid" runat="server">
<Columns>
<asp:TemplateColumn>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" OnLoad="TextBox1_Load" OnTextChanged="Textbox1_OnTextChanged"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
Затем вы можете суммировать значения на стороне сервера.
Также вам необходимодобавьте событие Load (Textbox1_OnLoad) в шаблон EditItemTemplate для текстового поля, чтобы связать клиентское событие текстового поля, как показано ниже.
protected void TextBox1_Load(object sender, EventArgs e)
{
TextBox newTb = sender as TextBox;
if (newTb != null)
{
newTb.Attributes.Add("onChange", "sumup(this)");
}
}
В Javascript вы можете обработать событие суммирования и получить значение текстовых полей, используя этот объект, и добавить значения.Если javascript поддерживается, сумма будет рассчитана, и вы должны вернуть false в конце функции суммирования, чтобы остановить обратную передачу.
Если javascript не поддерживается, то метод не будет вызываться и обратная передачабудет автоматически запущен.
Надеюсь, что это даст вам лучшее представление.
С уважением,
Lakxman Kumar C