一般功能

时间:2013-11-25 12:57:25

标签: asp.net vb.net ajax.net

在我正在研究的项目中我有TabContainer(AJAX.NET)有很多tabPanel,所有这些都在不同的表上执行相同的功能 BUT

让我举一个例子:

    <asp:TabContainer ID="TabContainer3" runat="server" ActiveTabIndex="0" BorderStyle="None"
    BorderWidth="0" CssClass="MyTabStyle" Width="625px">
    <asp:TabPanel ID="TabPanel1" runat="server">
        <HeaderTemplate>
            Tab_x
        </HeaderTemplate>
        <ContentTemplate>
            <asp:TextBox ID="txt_x" runat="server"></asp:TextBox>
            <asp:Button ID="btnx" runat="server" Text="Button" />                
        </ContentTemplate>
    </asp:TabPanel>
    <asp:TabPanel ID="TabPanel2" runat="server">
        <HeaderTemplate>
            Tab_y
        </HeaderTemplate>
        <ContentTemplate>
            <asp:TextBox ID="txt_y" runat="server"></asp:TextBox>
            <asp:Button ID="btny" runat="server" Text="Button" />                
        </ContentTemplate>
    </asp:TabPanel>
</asp:TabContainer>

代码背后(VB.NET)

Protected Sub btnx_Click(sender As Object, e As System.EventArgs) Handles btnx.Click
    SaveText_x(txt_x.Text)
End Sub

Protected Sub btny_Click(sender As Object, e As System.EventArgs) Handles btny.Click
    SaveText_y(txt_y.Text)
End Sub

有没有办法创建通用Sub或Function所以如果我点击 btnx 函数Save_x(txt_x.Text)被调用

当我点击 btny 函数Save_y(txt_y.Text)时会被调用吗?

2 个答案:

答案 0 :(得分:1)

您可以使用以下代码分配多个按钮以使用相同的单击处理程序:

Protected Sub btn_Click(sender As Object, e As System.EventArgs) Handles btnx.Click, btny.Click
    Dim btn As Button = CType(sender, Button)

    If btn.ID = "btnx" Then
        SaveText_x(txt_x.Text)
    ElseIf btn.ID = "btny" Then
        SaveText_y(txt_y.Text)
    End If
End Sub

btnx和btny都将触发此Sub,它将检查发送它的按钮以查看要调用的方法。

答案 1 :(得分:0)

1)使用公共字符串属性进行用户控制。使用视图状态来存储该属性的值。

2)将该用户控件添加到选项卡中,设置该属性的值为“X”或“Y”或任何值。

3)在按钮上单击,使用if .. else if,else或switch语句检查该属性,并调用SaveText函数变体。