Beginning SharePoint Web Part Development - A better web part with event handling: code
(Page 3 of 5 )
The previous web part is a very simple web part which displays a simple message. Let us modify the previous web part to display two labels, two text boxes and a button in a table. Once the user clicks on the button, it should multiply both numbers and give the result in a new label.
Modify your code in the web part so that it looks similar to the following:
Option Explicit On
Option Strict On
Imports System
Imports System.Runtime.InteropServices
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Xml.Serialization
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.WebControls
Imports Microsoft.SharePoint.WebPartPages
Imports System.Data
Imports System.Data.SqlClient
Namespace TestWebPart
<Guid("68324554-9734-4813-958f-9301bcc7fe19")> _
Public Class WebPart1
Inherits System.Web.UI.WebControls.WebParts.WebPart
Public Sub New()
End Sub
Protected Overrides Sub CreateChildControls()
MyBase.CreateChildControls()
Dim tbl As New Table
Dim tRow1 As New TableRow
Dim tRow2 As New TableRow
Dim tRow3 As New TableRow
Dim tR1C1 As New TableCell
Dim tR1C2 As New TableCell
Dim tR2C1 As New TableCell
Dim tR2C2 As New TableCell
Dim tR3C1 As New TableCell
Dim tR3C2 As New TableCell
tRow1.Cells.Add(tR1C1)
tRow1.Cells.Add(tR1C2)
tRow2.Cells.Add(tR2C1)
tRow2.Cells.Add(tR2C2)
tRow3.Cells.Add(tR3C1)
tRow3.Cells.Add(tR3C2)
tbl.Rows.Add(tRow1)
tbl.Rows.Add(tRow2)
tbl.Rows.Add(tRow3)
Dim txtFirst As New TextBox
txtFirst.ID = "txtFirst"
Dim txtSecond As New TextBox
txtSecond.ID = "txtSecond"
Dim lblFirst As New Label
lblFirst.Text = "Enter first:"
Dim lblSecond As New Label
lblSecond.Text = "Enter second:"
Dim lblResult As New Label
lblResult.ID = "lblResult"
Dim btnSubmit As New Button
btnSubmit.Text = "Submit"
AddHandler btnSubmit.Click, AddressOf btnSubmit_click
tR1C1.Controls.Add(lblFirst)
tR1C2.Controls.Add(txtFirst)
tR2C1.Controls.Add(lblSecond)
tR2C2.Controls.Add(txtSecond)
tR3C1.Controls.Add(btnSubmit)
tR3C2.Controls.Add(lblResult)
Me.Controls.Add(tbl)
End Sub
Private Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim i As Integer = CInt(CType(Me.FindControl("txtFirst"), TextBox).Text)
Dim j As Integer = CInt(CType(Me.FindControl("txtSecond"), TextBox).Text)
CType(Me.FindControl("lblResult"), Label).Text = "Product = " & CStr(i * j)
End Sub
Public Overrides ReadOnly Property Controls() As System.Web.UI.ControlCollection
Get
EnsureChildControls()
Return MyBase.Controls
End Get
End Property
End Class
End Namespace
Next: A better web part with event handling: explanation >>
More Windows Scripting Articles
More By Jagadish Chaterjee