簡體   English   中英

如何將事件處理程序添加到ListView中的自定義按鈕?

[英]How can i add a event handler to a customized button inside listview?

這是我的標記

<%@ Page Title="Daily Expenses" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Daily Expenses.aspx.cs" Inherits="Daily_Expenses" %>

函數calendar_datechange(){__doPostBack('txtCalendar','txtCalendar_TextChanged'); }

    function Calculate_Difference() {
        alert("Hello");
    }
</script>
<asp:ToolkitScriptManager ID="AjaxScript" runat="server"></asp:ToolkitScriptManager>
&nbsp;    &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; 
<asp:TextBox ID="txtCalendar" runat="server" 
    ontextchanged="txtCalendar_TextChanged"></asp:TextBox>

<%--<asp:PopupControlExtender ID="txtCalendar_PopupControlExtender" runat="server" 
    DynamicServicePath="" Enabled="True" ExtenderControlID="" PopupControlID="Panel1"
    TargetControlID="txtCalendar">
</asp:PopupControlExtender>

<asp:Panel ID="Panel1" runat="server">
<h2>Hello There</h2>
</asp:Panel>--%>
<asp:CalendarExtender ID="CalendarControl"  runat="server" OnClientDateSelectionChanged="calendar_datechange" TargetControlID="txtCalendar" PopupButtonID="CalendarButton">
</asp:CalendarExtender>
<%--<ajaxToolkit:CalendarExtender ID="CalendarControl" runat="server" OnClientDateSelectionChanged="calendar_datechange" TargetControlID="txtCalendar" PopupButtonID="CalendarButton"></ajaxToolkit:CalendarExtender>--%>
<asp:Button ID="CalendarButton" runat="server" Text="Calendar" />
<br />
<br />
<br />
<asp:ListView ID="ListView1" runat="server" DataKeyNames="SNO" 
    DataSourceID="SqlDataSource1" InsertItemPosition="LastItem">
    <AlternatingItemTemplate>
        <li style="background-color: #FFF8DC;">SNO:
            <asp:Label ID="SNOLabel" runat="server" Text='<%# Eval("SNO") %>' />
            <br />
            Taxinreal:
            <asp:Label ID="TaxinrealLabel" runat="server" Text='<%# Eval("Taxinreal") %>' />
            <br />
            Taxinpercent:
            <asp:Label ID="TaxinpercentLabel" runat="server" 
                Text='<%# Eval("Taxinpercent") %>' />
            <br />
            Amount:
            <asp:Label ID="AmountLabel" runat="server" Text='<%# Eval("Amount") %>' />
            <br />
            NetAmount:
            <asp:Label ID="NetAmountLabel" runat="server" Text='<%# Eval("NetAmount") %>' />
            <br />
            DateTakenPlace:
            <asp:Label ID="DateTakenPlaceLabel" runat="server" 
                Text='<%# Eval("DateTakenPlace") %>' />
            <br />
            <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
            <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" 
                Text="Delete" />
         <asp:Button ID="Differencebutton" runat="server"  Text="Calculate Difference" OnClientClick="Calculate_Difference" />
        </li>
    </AlternatingItemTemplate>
    <EditItemTemplate>
        <li style="background-color: #008A8C;color: #FFFFFF;">SNO:
            <asp:Label ID="SNOLabel1" runat="server" Text='<%# Eval("SNO") %>' />
            <br />
            Taxinreal:
            <asp:TextBox ID="TaxinrealTextBox" runat="server" 
                Text='<%# Bind("Taxinreal") %>' />
            <br />
            Taxinpercent:
            <asp:TextBox ID="TaxinpercentTextBox" runat="server" 
                Text='<%# Bind("Taxinpercent") %>' />
            <br />
            Amount:
            <asp:TextBox ID="AmountTextBox" runat="server" Text='<%# Bind("Amount") %>' />
            <br />
            NetAmount:
            <asp:TextBox ID="NetAmountTextBox" runat="server" 
                Text='<%# Bind("NetAmount") %>' />
            <br />
            DateTakenPlace:
            <asp:TextBox ID="DateTakenPlaceTextBox" runat="server" 
                Text='<%# Bind("DateTakenPlace") %>' />
            <br />
            <asp:Button ID="UpdateButton" runat="server" CommandName="Update" 
                Text="Update" />
            <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
                Text="Cancel" />
                <asp:Button ID="Differencebutton" runat="server" CommandName="Difference" OnClientClick="Calculate_Difference" Text="Calculate Difference" />
        </li>
    </EditItemTemplate>
    <EmptyDataTemplate>
        No data was returned.
    </EmptyDataTemplate>
    <InsertItemTemplate>
        <li style="">Taxinreal:
            <asp:TextBox ID="TaxinrealTextBox" runat="server" 
                Text='<%# Bind("Taxinreal") %>' />
            <br />
            Taxinpercent:
            <asp:TextBox ID="TaxinpercentTextBox" runat="server" 
                Text='<%# Bind("Taxinpercent") %>' />
            <br />
            Amount:
            <asp:TextBox ID="AmountTextBox" runat="server" Text='<%# Bind("Amount") %>' />
            <br />
            NetAmount:
            <asp:TextBox ID="NetAmountTextBox" runat="server" 
                Text='<%# Bind("NetAmount") %>' />
            <br />
            DateTakenPlace:
            <asp:TextBox ID="DateTakenPlaceTextBox" runat="server" 
                Text='<%# Bind("DateTakenPlace") %>' />
            <br />
            <asp:Button ID="InsertButton" runat="server" CommandName="Insert" 
                Text="Insert" />
            <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
                Text="Clear" />
         <asp:Button ID="Differencebutton" runat="server" CommandName="Difference" OnClientClick="Calculate_Difference" Text="Calculate Difference" />
        </li>
    </InsertItemTemplate>
    <ItemSeparatorTemplate>
        <br />
    </ItemSeparatorTemplate>
    <ItemTemplate>
        <li style="background-color: #DCDCDC;color: #000000;">SNO:
            <asp:Label ID="SNOLabel" runat="server" Text='<%# Eval("SNO") %>' />
            <br />
            Taxinreal:
            <asp:Label ID="TaxinrealLabel" runat="server" Text='<%# Eval("Taxinreal") %>' />
            <br />
            Taxinpercent:
            <asp:Label ID="TaxinpercentLabel" runat="server" 
                Text='<%# Eval("Taxinpercent") %>' />
            <br />
            Amount:
            <asp:Label ID="AmountLabel" runat="server" Text='<%# Eval("Amount") %>' />
            <br />
            NetAmount:
            <asp:Label ID="NetAmountLabel" runat="server" Text='<%# Eval("NetAmount") %>' />
            <br />
            DateTakenPlace:
            <asp:Label ID="DateTakenPlaceLabel" runat="server" 
                Text='<%# Eval("DateTakenPlace") %>' />
            <br />
            <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
            <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" 
                Text="Delete" />
          <asp:Button ID="Differencebutton" runat="server" CommandName="Difference" OnClientClick="Calculate_Difference" Text="Calculate Difference" />
        </li>
    </ItemTemplate>
    <LayoutTemplate>
        <ul ID="itemPlaceholderContainer" runat="server" 
            style="font-family: Verdana, Arial, Helvetica, sans-serif;">
            <li runat="server" id="itemPlaceholder" />
        </ul>
        <div style="text-align: center;background-color: #CCCCCC;font-family: Verdana, Arial, Helvetica, sans-serif;color: #000000;">
            <asp:DataPager ID="DataPager1" runat="server">
                <Fields>
                    <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" 
                        ShowLastPageButton="True" />
                </Fields>
            </asp:DataPager>
        </div>
    </LayoutTemplate>
    <SelectedItemTemplate>
        <li style="background-color: #008A8C;font-weight: bold;color: #FFFFFF;">SNO:
            <asp:Label ID="SNOLabel" runat="server" Text='<%# Eval("SNO") %>' />
            <br />
            Taxinreal:
            <asp:Label ID="TaxinrealLabel" runat="server" Text='<%# Eval("Taxinreal") %>' />
            <br />
            Taxinpercent:
            <asp:Label ID="TaxinpercentLabel" runat="server" 
                Text='<%# Eval("Taxinpercent") %>' />
            <br />
            Amount:
            <asp:Label ID="AmountLabel" runat="server" Text='<%# Eval("Amount") %>' />
            <br />
            NetAmount:
            <asp:Label ID="NetAmountLabel" runat="server" Text='<%# Eval("NetAmount") %>' />
            <br />
            DateTakenPlace:
            <asp:Label ID="DateTakenPlaceLabel" runat="server" 
                Text='<%# Eval("DateTakenPlace") %>' />
            <br />
            <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
            <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" 
                Text="Delete" />
          <asp:Button ID="Differencebutton" runat="server" CommandName="Difference" OnClientClick="Calculate_Difference" Text="Calculate Difference" />
        </li>
    </SelectedItemTemplate>
</asp:ListView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnString %>" 
    DeleteCommand="DELETE FROM [tblexpenses] WHERE [SNO] = @SNO" 
    InsertCommand="INSERT INTO [tblexpenses] ([Taxinreal], [Taxinpercent], [Amount], [NetAmount], [DateTakenPlace]) VALUES (@Taxinreal, @Taxinpercent, @Amount, @NetAmount, @DateTakenPlace)" 
    SelectCommand="SELECT * FROM [tblexpenses] WHERE ([DateTakenPlace] = @DateTakenPlace2)" 
    UpdateCommand="UPDATE [tblexpenses] SET [Taxinreal] = @Taxinreal, [Taxinpercent] = @Taxinpercent, [Amount] = @Amount, [NetAmount] = @NetAmount, [DateTakenPlace] = @DateTakenPlace WHERE [SNO] = @SNO">
    <DeleteParameters>
        <asp:Parameter Name="SNO" Type="Int32" />
    </DeleteParameters>
    <InsertParameters>
        <asp:Parameter Name="Taxinreal" Type="Double" />
        <asp:Parameter Name="Taxinpercent" Type="Decimal" />
        <asp:Parameter Name="Amount" Type="Double" />
        <asp:Parameter Name="NetAmount" Type="Int32"/>
        <asp:Parameter DbType="Date" Name="DateTakenPlace" />
    </InsertParameters>
    <SelectParameters>
        <asp:ControlParameter ControlID="txtCalendar" DbType="Date" 
            Name="DateTakenPlace2" PropertyName="Text" />
    </SelectParameters>
    <UpdateParameters>
        <asp:Parameter Name="Taxinreal" Type="Double" />
        <asp:Parameter Name="Taxinpercent" Type="Decimal" />
        <asp:Parameter Name="Amount" Type="Double" />
        <asp:Parameter Name="NetAmount" Type="Int32" />
        <asp:Parameter DbType="Date" Name="DateTakenPlace" />
        <asp:Parameter Name="SNO" Type="Int32" />
    </UpdateParameters>
</asp:SqlDataSource>
<br />
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br />
<br />
<br />

我的數據庫中有一個表tblexpense 我有名為TaxinrealTaxinpercent ,* Amount * NetAmount 。* NetAmount *的列是等於* (Amount-Taxinreal-Taxinpercent)的計算列*現在我想在運行時在aspx頁面中用戶必須能夠插入金額,稅金,稅金百分比以及根據用戶NetAmount提供的值必須在運行時計算(Netamount = Amount-Tax-Taxpercentage)並將其插入數據庫中。為此,我有一個差分按鈕,應執行所需的數學運算。 我遇到的問題是我正在使用列表視圖。 現在添加一個新按鈕很簡單,但是如何在差異按鈕的click事件中執行所需的數學運算,以便當列表視圖處於更新模式時,用戶可以更改taxinreal,taxinpercent的值並在運行時獲取結果,並且在數據庫中更新??? 我急需解決方案(PS我只需要使用Listview)。

您要使用ListView的OnItemCommand。

這是一個樣本。

如果要執行計算,則需要在后面的代碼中插入/更新到數據庫(使用ADO.Net,實體框架或linq-to-sql)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM