İhtiyacım ComboBoxlarımın geri dönüş yapmadan(postback), sayfadaki textbox alanındaki bir alanın güncellenmesi için bilgi getirmeleriydi. Uzun uğraşlardan sonra işte çözüm : AspxCallBackPanel
.aspx sayfasını şu şekilde hazırlayın
<dx:ASPxCallbackPanel ID="masterCallback" runat="server" OnCallback="masterCallback_Callback" ShowLoadingPanel="false" ClientInstanceName="CallbackPanel">
<PanelCollection><dx:PanelContent>
<table Width="180px"><tr><td >
<dx:ASPxCheckBox ID="cbSosBogurtlen" Text="Böğürtlen Sosu - 0.75TL" runat="server" Width="157px" ValueChecked="Y" ValueUnchecked="S" ValueType="System.String" >
<ClientSideEvents CheckedChanged="function(s, e) { CallbackPanel.PerformCallback('cbSosBogurtlen');}" />
</dx:ASPxCheckBox>
<dx:ASPxCheckBox ID="cbBal" Text="Bal - 0.75TL" runat="server" ValueChecked="Y" ValueUnchecked="S" Width="157px" ValueType="System.String" >
<ClientSideEvents CheckedChanged="function(s, e) { CallbackPanel.PerformCallback('cbBal');}" />
</dx:ASPxCheckBox>
</td></tr>
<tr><td ><br />
Toplam Tutar : <asp:Label ID="lbToplamTutar" runat="server" CssClass="icerikYazi"></asp:Label>
</td></tr></table>
</dx:PanelContent></PanelCollection>
</dx:ASPxCallbackPanel>
.cs sayfasında ise bu geleni alalım
protected void masterCallback_Callback(object source, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
{
decimal vidi = 0.0M;
if (cbSosBogurtlen.Value != null)
{
if (cbSosBogurtlen.Value.ToString() == "Y")
vidi = vidi + 0.75M;
}
if (cbBal.Value != null)
{
if (cbBal.Value.ToString() == "Y")
vidi = vidi + 0.75M;
}
lbToplamTutar.Text =(decimal.Parse(lbToplamTutar.Text) + vidi).ToString();
}
işte budur ;)
Hiç yorum yok:
Yorum Gönder