内容页面上的按钮名称来自母版页

时间:2015-08-27 15:11:03

标签: asp.net vb.net

在我的母版页中,我有两个按钮:

<asp:Button ID="btnPrev" runat="server" CssClass="btn btn-prev" Text="Prev" />
<asp:Button ID="btnNext" runat="server" CssClass="btn btn-next" Text="Next" />

用户点击,当然页面会点火,很棒,除了我想根据按下哪个按钮执行操作。我可以回过头来引用母版页作为内容页面上的第一件事

Call btnNext_clickassessment(sender, e)

Protected Sub btnNext_clickassessment(sender As Object, e As System.EventArgs)
       Me.Master.btnNext_Click(sender, e)
End Sub

但是,这并不能确定实际按下了哪个按钮。

我查看了onclickIf CType(sender, Button).ID = "btnNext_Click" Then但是还没有找到解决方案(或者其中一个是我错了!

甚至可能是一些javascript?

1 个答案:

答案 0 :(得分:1)

您还可以在母版页上声明公共属性,然后在内容页面上处理事件,如下所示

<强>母版

Public btnPrev As Button
Public btnNext As Button

<强> ContentPage

'in page load
AddHandler Me.Master.btnPrev.Click, AddressOf Me.btnPrevNext_Click
AddHandler Me.Master.btnNext.Click, AddressOf Me.btnPrevNext_Click

然后是你的处理程序

Private Sub btnPrevNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    ' Handle your Button clicks here
    dim btnName as string
    btnName = sender.ID
    ' do stuff with the button name
End Sub

或者使用两个不同的处理程序来简化代码

<强> ContentPage

'in page load
AddHandler Me.Master.btnPrev.Click, AddressOf Me.btnPrev_Click
AddHandler Me.Master.btnNext.Click, AddressOf Me.btnNext_Click

然后是你的处理程序

Private Sub btnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    ' Handle your Previous Button click here
End Sub

Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    ' Handle your Next Button click here
End Sub