Событие onClick в VB.NET - PullRequest
       7

Событие onClick в VB.NET

1 голос
/ 08 октября 2010

Я программирую в VB.NET. Я пытаюсь создать событие onClick для тега div. Как я могу сделать это в коде позади?

Ответы [ 2 ]

2 голосов
/ 08 октября 2010

Одним из возможных решений было бы создание Webusercontrol с Panel (будет отображаться как DIV) и невидимой кнопкой (Display: none). Нажимая на div, вы можете нажать кнопку для каждого javascript, что приведет к автоматической обратной передаче. В Codebehind вы могли бы поймать это событие ButtonClick и вызвать пользовательское событие (DivClicked). Таким образом, вы можете использовать этот контроль везде. Примерно так:

ClickableDiv.ascx

<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="ClickableDiv.ascx.vb" Inherits="WebApplication1.ClickableDiv" %>
<asp:Panel id="TheDiv" runat="server" onMouseOver="this.style.cursor='pointer'"  onclick="this.nextSibling.click()" /><asp:Button ID="DivButton" runat="server"  />

ClickableDiv.ascx Codebehind

Partial Public Class ClickableDiv
    Inherits System.Web.UI.UserControl

    Public Event DivClicked(ByVal src As ClickableDiv)

    Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
        Me.DivButton.Style.Add("display", "none")
    End Sub

    Public ReadOnly Property Div() As Panel
        Get
            Return Me.TheDiv
        End Get
    End Property

    Protected Sub DivButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles DivButton.Click
        RaiseEvent DivClicked(Me)
    End Sub

End Class

И, например, на любой странице (перетащите ее в дизайнер):

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim imgTest As New Image
        imgTest.ImageUrl = "http://skins.gmodules.com/ig/images/logos/approved/white.png"
        Me.ClickableDiv1.Div.Controls.Add(imgTest)
    End Sub

    Private Sub ClickableDiv1_DivClicked(ByVal src As ClickableDiv) Handles ClickableDiv1.DivClicked
        Dim div As ClickableDiv = src
    End Sub

Кстати, вы также можете использовать __ doPostback-функцию для события onclick DIV, чтобы вызвать обратную передачу.

0 голосов
/ 08 октября 2010

1 - создать скрытую кнопку asp:

2 - при нажатии кнопки div document.getElementById('<%=HiddenButton.ClientID%>').click(); это вызовет событие button_click на сервере

** не забудьте установить UseSubmitBehaviour=false для скрытой кнопки, чтобы событие клика работало

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...