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>
그러면 서버 측의 값을 합계 할 수 있습니다.
또한 TextItemTemplate에 Load 이벤트 (Textbox1_OnLoad)를 추가하여 아래 텍스트 상자의 clientside 이벤트를 바인딩해야합니다.
protected void TextBox1_Load(object sender, EventArgs e)
{
TextBox newTb = sender as TextBox;
if (newTb != null)
{
newTb.Attributes.Add("onChange", "sumup(this)");
}
}
자바 스크립트에서는 sumup 이벤트를 처리하고이 개체를 사용하여 텍스트 상자의 값을 가져 와서 값을 추가 할 수 있습니다. javascript가 지원되면 합계가 계산되고 sumup 함수의 끝에서 false를 반환하여 포스트 백을 중지해야합니다.
자바 스크립트가 지원되지 않으면 메소드가 호출되지 않고 다시 게시가 자동으로 트리거됩니다.
희망이 있으면 도움이됩니다.
감사
Lakxman 쿠마 C