ASP.NET FAQ - Controls

Find answers for the most frequently asked questions
Expand All Collapse All

Method 1. This will cause a postback on button click in response to which we will send some script to close the window.


VB.NET
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  	Response.Write('<script>window.close();</script>')
End Sub

C#
private void Button1_Click(object sender, System.EventArgs e)
{	 
	Response.Write('<script>window.close();</script>');
}

Method 2. This is preferable since there is no postback involved.


Use the Attribute collections i.e use Attributes of button control to add client side JavaScript code
VB.NET 
	 Button1.Attributes.Add('OnClick', 'window.close();')

C#
	 Button1.Attributes.Add('OnClick', 'window.close();');
Permalink

There is no predefined OnMouseOver Event.We can define as follows in the Page_Load Event.

protected void Page_Load(object sender, EventArgs e)
{
	ImageHotSpot.Attributes.Add('onmousemove', 'MouseOver()');
}

Where MouseOver() is the function to be defined in the ClientSide as follows


<script>
	function MouseOver()
	{
		alert('MouseMoveEvent');
	}
</script>
Permalink

<asp:Panel id='Panel1' runat='server' Width='271px' Height='41px'>
	<TABLE id='Table1' cellSpacing='1' cellPadding='1' width='300' border='1'>
	<TR>
	<TD>
		<asp:TextBox id='TextBox1' runat='server'></asp:TextBox>
	</TD>
	</TR>
	<TR>
	<TD>
	<asp:Button id='Button1' runat='server' Text='Button'></asp:Button></TD>
	</TR>
	</TABLE>
</asp:Panel>
<asp:Panel id='Panel2' style='Z-INDEX: 102; LEFT: 16px; POSITION: absolute; TOP: 120px' runat='server'
	Width='176px' Height='91px' Visible='False'>
	<asp:Label id='Label1' runat='server'></asp:Label>
</asp:Panel>

On Button Click

VB.NET


Panel2.Visible =true
Label1.Text = TextBox1.Text 

C#


Panel2.Visible =true; 
Label1.Text = TextBox1.Text ;

Note: Based on the criteria you can hide and show panels

Permalink

Yes.


<asp:Button id='Button1' style='Z-INDEX: 101; LEFT: 116px; POSITION: absolute; TOP: 152px' runat='server'
	Text='Move'></asp:Button>
<asp:RadioButtonList id='RadioButtonList1' style='Z-INDEX: 103; LEFT: 87px; POSITION: absolute; TOP: 27px'
	runat='server' AutoPostBack='True'>
	<asp:ListItem Value='10px'>10 pixels</asp:ListItem>
	<asp:ListItem Value='100px'>100 pixels</asp:ListItem>
	<asp:ListItem Value='200px'>200 pixels</asp:ListItem>
</asp:RadioButtonList>

VB.NET


Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
	’ Put user code to initialize the page here
	If Not Page.IsPostBack Then
	            Button1.Style.Add('LEFT', '1px')
	End If
End Sub ’Page_Load

Private Sub RadioButtonList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButtonList1.SelectedIndexChanged
	Button1.Style.Add('LEFT', RadioButtonList1.SelectedItem.Value.ToString())
End Sub ’RadioButtonList1_SelectedIndexChanged 

C#


private void Page_Load(object sender, System.EventArgs e)
{
	// Put user code to initialize the page here
	if (!Page.IsPostBack )
	{
		Button1.Style.Add('LEFT', '1px');
	}
}

private void RadioButtonList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
	Button1.Style.Add('LEFT',RadioButtonList1.SelectedItem.Value.ToString());
}
Permalink

<asp:Repeater runat='server' DataSource=’<%# GetControls() %>’ ID='Repeater1'>
<HeaderTemplate>

    </HeaderTemplate> <ItemTemplate>
  • <%# DataBinder.Eval(Container.DataItem, 'Name') %>
  • </ItemTemplate> <FooterTemplate>
</FooterTemplate> </asp:Repeater>

VB.NET


Protected Function GetControls() As ArrayList
Dim arrList As New ArrayList()
Dim t As Type
   	For Each t In  GetType(Page).Assembly.GetTypes()
      		If t.Namespace = 'System.Web.UI.WebControls' And GetType(Control).IsAssignableFrom(t) Then
         			arrList.Add(t)
      		End If
   	Next 
Return arrList
End Function ’GetControls

’In Page_Load
DataBind()

C#


protected	ArrayList GetControls()
{
	ArrayList arrList = new ArrayList();
	foreach (Type t in typeof(Page ).Assembly.GetTypes())
	{
		if (t.Namespace == 'System.Web.UI.WebControls' && typeof(Control).IsAssignableFrom(t))
			arrList.Add(t);
	}
	return arrList;
}

//In Page_Load
DataBind();
Permalink

User Interface


<asp:TextBox id='TextBox1' style='Z-INDEX: 101; LEFT: 40px; POSITION: absolute; TOP: 64px' runat='server'>Syncfusion</asp:TextBox>
<asp:Button id='Button1' style='Z-INDEX: 102; LEFT: 48px; POSITION: absolute; TOP: 120px' runat='server' Text='Button'></asp:Button>
<asp:CheckBox id='CheckBox1' style='Z-INDEX: 103; LEFT: 40px; POSITION: absolute; TOP: 200px' runat='server' Text='Syncfusion'></asp:CheckBox>

VB.NET
Create a function


Protected Function createStyleForControl(ByVal _forecolor As Color, ByVal _backcolor As Color, ByVal _fontbold As Boolean) As Style
	Dim s As Style = New Style
	s.ForeColor = _forecolor
	s.BackColor = _backcolor
	s.Font.Bold = _fontbold
	Return s
End Function

In Page_Load


Dim textboxStyle As Style = createStyleForControl(Color.Pink, Color.Yellow, False)
Dim buttonStyle As Style = createStyleForControl(Color.Blue, Color.Teal, True)
Dim checkboxStyle As Style = createStyleForControl(Color.AliceBlue, Color.PowderBlue, False)

TextBox1.ApplyStyle(textboxStyle)
Button1.ApplyStyle(buttonStyle)
CheckBox1.ApplyStyle(checkboxStyle)

C#
Create a function


protected	Style createStyleForControl(Color _forecolor  ,Color _backcolor  ,bool _fontbold )
{
	Style s = new Style();
	s.ForeColor = _forecolor;
	s.BackColor =_backcolor;
	s.Font.Bold = _fontbold;
	return s;
}

In Page_Load


Style textboxStyle=createStyleForControl (Color.Pink, Color.Yellow, false  );
Style buttonStyle=createStyleForControl (Color.Blue, Color.Teal, true  );
Style checkboxStyle =createStyleForControl (Color.AliceBlue, Color.PowderBlue, false  );

TextBox1.ApplyStyle(textboxStyle );
Button1.ApplyStyle (buttonStyle );
CheckBox1.ApplyStyle (checkboxStyle );
Permalink

Pseudo-elements are fictional elements that do not exist in HTML. They address the element’s sub-part. There are 2 types of pseudo-elements as “first-line pseudo-element’ and ’first-letter pseudo-element’. Pseudo-element is created by a colon followed by pseudo-element’s name,e.g:


P:first-line
H1:first-letter

and can be combined with normal classes;

e.g:


P.initial:first-line

The first line of this paragraph will be displayed in uppercase letters
Permalink

User Controls are text files with the extension ’.ascx’ which enables you to make GUI re-usable controls. Its a text file, which contains a mixture of HTML and scripting. User Controls can be edited in an editor.

On the other hand Custom Controls reside in compiled ( Dll ) assemblies. They are non-GUI but can emit HTML GUI at runtime. Example of Custom Controls would be the sever controls which come bundled with the .NET SDK like DataGrid, Repeater, DataList etc. Custom Controls are always compiled into Dll’s and hence require good programming knowledge. The purpose of Custom Controls is also to create re-usable units of code.

Permalink

Check out Jim Ross’s article Maintain Scroll Position in any Page Element
The article describes, when using a scrollable Datagrid–one inside an overflow-auto DIV control–how to maintain the user’s scroll position inside the DIV across postbacks. It does this using IE behaviors, HTC files.

Permalink

Here is an example of creating a HyperLink control in code.

VB.NET


Dim hpl As New HyperLink()
hpl.Text='Text'
hpl.NavigateUrl='http://www.syncfusion.com'’
hpl.ID='theID'
Page.Controls(1).Controls.Add(hpl)

C#
HyperLink  hpl = new HyperLink();
hpl.Text='Text';
hpl.NavigateUrl='http://www.syncfusion.com';
hpl.ID='theID';
Page.Controls[1].Controls.Add(hpl);
Permalink

<asp:textbox id='TextBox1' runat='server'></asp:textbox>
<asp:rangevalidator id='RangeValidator1' type='Date' controltovalidate='TextBox1' runat='server' errormessage='Not in range' />
<asp:button id='Button1' runat='server' text='Button'></asp:button>

VB.NET


...
Dim dtMinDate As DateTime
Dim dtMaxDate As DateTime
dtMinDate = Convert.ToDateTime('04/25/04')
dtMaxDate = Convert.ToDateTime('10/17/04')
RangeValidator1.MinimumValue = dtMinDate
RangeValidator1.MaximumValue = dtMaxDate
TextBox1.Text = dtMaxDate.ToShortDateString
RangeValidator1.ErrorMessage = 'Not in Range of ' & dtMinDate.ToShortDateString() & ' to ' & dtMaxDate.ToShortDateString()

C#


DateTime dtMinDate ; 
DateTime dtMaxDate ; 
dtMinDate = Convert.ToDateTime('04/25/04');
dtMaxDate = Convert.ToDateTime('10/17/04');
RangeValidator1.MinimumValue = dtMinDate.ToShortDateString () ;
RangeValidator1.MaximumValue = dtMaxDate.ToShortDateString () ;
TextBox1.Text = dtMaxDate.ToShortDateString();
RangeValidator1.ErrorMessage = 'Not in Range of ' + dtMinDate.ToShortDateString() + ' to ' + dtMaxDate.ToShortDateString();
Permalink

VB.NET


Dim tbl As New TableCell()
’VerticalAlign is enumeration in System.Web.UI.WebControls namespace
tbl.VerticalAlign = VerticalAlign.Top

C#


TableCell tbl=new TableCell();
//VerticalAlign is enumeration in System.Web.UI.WebControls namespace
tbl.VerticalAlign = VerticalAlign.Top;
Permalink

VB.NET


Dim i As Integer = 1

’Textbox
Dim txtBox As TextBox = New TextBox
txtBox.ControlStyle.CssClass = 'textbox'
txtBox.ID = 'txtbox' + i.ToString()

’RequiredFieldValidator
Dim rqdVal As RequiredFieldValidator = New RequiredFieldValidator
rqdVal.ID = 'rqdVal' + i.ToString()
rqdVal.ControlToValidate = 'txtbox' + i.ToString()
rqdVal.ErrorMessage = 'Please enter a value'
rqdVal.Display = ValidatorDisplay.Dynamic

’RangeValidator
Dim rngVal As RangeValidator = New RangeValidator
rngVal.ID = 'rngVal' + i.ToString()
rngVal.MinimumValue = '1'
rngVal.MaximumValue = '100'
rngVal.ControlToValidate = 'txtbox' + i.ToString()
rngVal.Type = ValidationDataType.Double
rngVal.ErrorMessage = ' Value should be between 1  and 100'

’Add Controls on the page 
Page.Controls(1).Controls.Add(txtBox)
Page.Controls(1).Controls.Add(rqdVal)
Page.Controls(1).Controls.Add(rngVal)

C#


int i=1;

//Textbox
TextBox txtBox = new TextBox();
txtBox.ControlStyle.CssClass = 'textbox';
txtBox.ID = 'txtbox' + i.ToString();

//RequiredFieldValidator
RequiredFieldValidator  rqdVal = new RequiredFieldValidator();
rqdVal.ID = 'rqdVal' + i.ToString();
rqdVal.ControlToValidate =  'txtbox' + i.ToString();
rqdVal.ErrorMessage = 'Please enter a value';
rqdVal.Display =ValidatorDisplay.Dynamic;

//RangeValidator
RangeValidator rngVal = new RangeValidator();
rngVal.ID = 'rngVal' + i.ToString();
rngVal.MinimumValue = '1';
rngVal.MaximumValue = '100';
rngVal.ControlToValidate = 'txtbox' + i.ToString();
rngVal.Type = ValidationDataType.Double;
rngVal.ErrorMessage = ' Value should be between 1  and 100';

//Add Controls on the page 
Page.Controls[1].Controls.Add (txtBox);
Page.Controls[1].Controls.Add (rqdVal);
Page.Controls[1].Controls.Add (rngVal);
Permalink

Share with

Couldn't find the FAQs you're looking for?

Please submit your question and answer.