|
|
Code Walkthroughs |
|
Datagrid
Formatting the Data
We are
able to format the content of the datagrid cell by one of two simple methods,
dependant upon whether the column is a bound column or whether it is a template
column. In our example we shall format the column to have to digits after the
decimal point , followed by a...
|
|
Datagrid
Highlight a Row With Click Through
It is
relatively easy to add alternating colours to the rows in your datagrid.
However, when we move the mouse over the rows we may want to highlight this
row, and possibly to add the option of a click through based on the row
selected...
|
|
Add
a Delete Button to a Datagrid
To add
a delete button to a datagrid follows a similar process to adding an edit
button. In the datagrid header...
|
|
Add
an Edit Button to a Datagrid
The
datagrid has a predefined editColumn for handling the editing of a datagrid.
Adding this simple column definition to a datagrid adds a powerful feature.
When a row is not in edit mode the column item shows the word...
|
|
Making
a Datagrid Row Editable
Two of
the most popular methods of editing a datagrid in asp.net are to either select
the row and take the user off to a different presentation of the data, or to
change the formatting of the row presented in the database with appropriate
edit text boxes, checkboxes and...
|
|
Adding
Tooltips to Datagrid Rows
Adding
tooltips to datagrid rows is easy, assuming that you have already created the
code for adding row highlighting. In this article I shall assume that you have
already read the article entitled Datagrid Highlight a Row With Click
Through...
|
|
Binding
a Datagrid to an Access Database
This
list covers the full lifecycle of a content management system, from initially
creating the content, through to delivering it to end users...
|
|
Adding
Data to a DropDownList
The aim
of this article is to answer the question 'How do I add items to a
DropDownList?' Initially as part of the declaration for the DropDownList we can
also define a number of items, much in the same way as in classic ASP...
|
|
Getting
Current Date Time
In
classic ASP we had now() which would return the current date and time. For
asp.net this no longer exists. So what should we use...
|
|
Test
if File Exists
Sometimes,
in order to reduce our chance of error, when working with the filesystem in
ASP.NET, we need to determine wether a file exists before performing an action
on it. The following short piece of code will enable us to test whether a file
exists...
|
|
Using
Javascript with ASP.NET Form Elements
Adding
simple pieces of Javascript to an Asp.net page can be acheived by adding to the
attributes of the particular imagebutton or linkbutton. if its normal ASP.Net
Button then you can...
|
|
Regular
Expressions
In the table below we list the characters used in .Net
regular expressions, together with their meaning, But first...
|
|
Authentication
in Asp.net
Forms
authentication in ASP.Net is far more easier and safe than Asp 3. It is
possible to place a web.config file in any directory of a web site.Therefore,
we are able to make most of a web site public, whilst providing authentication
on, say, one directory...
|
|
|
22.1 How to close the browser window on button control click?
|

 |
|
Method 1. This will cause a postback on button click in response to which we
will send some script to close the window.
|
Private Sub Button1_Click(ByVal
sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
|
Response.Write("<script>window.close();</script>")
|
private void Button1_Click(object
sender, System.EventArgs e)
|
Response.Write("<script>window.close();</script>");
|
|
Method 2. This is preferrable since there is no postback involved.
|
Use the Attribute collections i.e
use Attributes of button control to add client side JavaScript code
|
Button1.Attributes.Add("OnClick", "window.close();")
|
Button1.Attributes.Add("OnClick", "window.close();");
|
22.2 How to create server controls at runtime?
|

 |
|
Here is an example of creating a HyperLink control in code.
VB.NET
|
Dim hpl As New HyperLink()
|
hpl.NavigateUrl="http://www.syncfusion.com"'
|
Page.Controls(1).Controls.Add(hpl)
|
HyperLink hpl = new HyperLink();
|
hpl.NavigateUrl="http://www.syncfusion.com";
|
Page.Controls[1].Controls.Add(hpl);
|
22.3 How to change the text color of a linkbutton control?
|

 |
<asp:LinkButton forecolor
="green" id="LinkButton1" runat="server">LinkButton</asp:LinkButton>
|
22.4 How to dynamically add validator controls?
|

 |
Dim txtBox As TextBox = New TextBox
|
txtBox.ControlStyle.CssClass =
"textbox"
|
txtBox.ID = "txtbox" + i.ToString()
|
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
|
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)
|
TextBox txtBox = new TextBox();
|
txtBox.ControlStyle.CssClass =
"textbox";
|
txtBox.ID = "txtbox" + i.ToString();
|
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 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);
|
22.5 How to change the image button size during runtime?
|

 |
Dim x As New Unit("80px")
|
Dim y As New Unit("20px")
|
Dim imagestate as string= "stand"
|
If imagestate = "stand" then
|
Unit x = new Unit ("80px");
|
Unit y = new Unit("20px");
|
string imagestate="stand";
|
if( imagestate != "stand")
|
22.6 How can I to divide the .aspx page to different parts with different
functionality in a neat and organized manner. Is there any control that can do
that?
|

 |
|
You can use Panel controls, which render as HTML div elements. You can then show
or hide the panels by enabling/disabling them. In addition, you can specify
different formatting options for different Panels/divs using manual formatting
or CSS styles.
|
22.7 How to maintain Scroll Position in any Page Element?
|

 |
|
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.
|
22.8 DataBinder.Eval imposes performance penalty on code as it uses late bound
reflection. How can I replace this calls with explicit calls?
|

 |
|
Change the Databinding Expression
|
<%#DataBinder.Eval
(Container.DataItem , "StartDate" , "{0:c}")%>
|
<%#String.Format("{0:d}" ,
(CType(Container.DataItem, DataRowView))("StartDate"))%>
|
<%#String.Format("{0:d}" ,
((DataRowView)Container.DataItem)["StartDate"])%>
|
22.9 What is the difference between User Controls and Custom Controls?
|

 |
|
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.
|
22.10 How to apply Style to a Web Server control programmatically?
|

 |
<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>
|
Protected Function
createStyleForControl(ByVal _forecolor As Color, ByVal _backcolor As Color,
ByVal _fontbold As Boolean) As Style
|
Dim s
As Style = New Style
|
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)
|
protected Style
createStyleForControl(Color _forecolor ,Color _backcolor ,bool _fontbold )
|
s.ForeColor
= _forecolor;
|
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
);
|
22.11 How can I disable a button to prevent the user from multiple clicking?
|

 |
|
In the very last line of the button1_Click subroutine, add this line:
VB.NET
|
22.12 Why do I get the error message "Access is denied : <myctrl>" when I
try to load a Custom Control?
|

 |
22.13 How to pass information between panels. Information entered in one panel
should be displayed in other panel?
|

 |
<asp:Panel id="Panel1"
runat="server" Width="271px" Height="41px">
|
<TABLE
id="Table1" cellSpacing="1" cellPadding="1" width="300" border="1">
|
<P><asp:TextBox
id="TextBox1" runat="server"></asp:TextBox></P>
|
<asp:Button
id="Button1" runat="server" Text="Button"></asp:Button></TD>
|
<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>
|
Label1.Text = TextBox1.Text
|
Label1.Text = TextBox1.Text ;
|
|
Note: Based on the criteria you can hide and show panels
|
22.14 Why do I get error message "The control '_ctl1' of type 'TextBox' must be
inside a form label with runat=server" while trying to place a control inside a
form dynamically?
|

 |
|
You are probably adding the textbox into the Page directly instead of adding it
to the Page's form. Try doing this:
VB.NET
|
Me.Page.Controls(1).Controls.Add(txtboxctrl)
|
this.Page.Controls[1].Controls.Add(txtboxctrl);
|
22.15 How to implement mouseover effects in a <asp:image> web server
control?
|

 |
<asp:Image id="Image1"
runat="server" ImageUrl="b2346.jpg"></asp:Image>
|
Image1.Attributes.Add("onmouseover",
"this.src='b2456.jpg'")
|
Image1.Attributes.Add("onmouseover",
"this.src='b2456.jpg'");
|
22.16 Is there a way to set the position of the controls dynamically?
|

 |
<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>
|
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")
|
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
|
private void Page_Load(object
sender, System.EventArgs e)
|
// Put
user code to initialize the page here
|
Button1.Style.Add("LEFT",
"1px");
|
private void
RadioButtonList1_SelectedIndexChanged(object sender, System.EventArgs e)
|
Button1.Style.Add("LEFT",RadioButtonList1.SelectedItem.Value.ToString());
|
22.17 How can I set the maximum and minimum value for RangeValidator based on
two dates?
|

 |
<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>
|
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()
|
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();
|
22.18 How to specifiy the hspace and vspace in a <asp:Image>?
|

 |
Image1.Attributes.Add("hspace",
"50")
|
Image1.Attributes.Add("vspace",
"50")
|
Image1.Attributes.Add("hspace",
"50") ;
|
Image1.Attributes.Add("vspace",
"50") ;
|
22.19 How to disable status bar messages for Hyperlink Controls?
|

 |
HyperLink1.Attributes.Add("onMouseOver",
"window.status=' '; return true;")
|
HyperLink1.Attributes.Add("onMouseOver",
"window.status=' '; return true;") ;
|
22.20 How to get the list of all System.Web.UI.WebControls in my page?
|

 |
<asp:Repeater runat="server"
DataSource='<%# GetControls() %>' ID="Repeater1">
|
<%#
DataBinder.Eval(Container.DataItem, "Name") %>
|
Protected Function GetControls() As
ArrayList
|
Dim arrList As New ArrayList()
|
For
Each t In GetType(Page).Assembly.GetTypes()
|
If
t.Namespace = "System.Web.UI.WebControls" And
GetType(Control).IsAssignableFrom(t) Then
|
End Function 'GetControls
|
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))
|
22.21 How to set the vertical align of a TableCell programmatically?
|

 |
Dim tbl As New TableCell()
|
'VerticalAlign is enumeration in
System.Web.UI.WebControls namespace
|
tbl.VerticalAlign =
VerticalAlign.Top
|
TableCell tbl=new TableCell();
|
//VerticalAlign is enumeration in
System.Web.UI.WebControls namespace
|
tbl.VerticalAlign =
VerticalAlign.Top;
|
22.22 How to control viewstate on individual controls?
|

 |
|
You can set the EnableViewState property of the control. You should disable
viewstate for any control that doesn't use it to gurantee optimum performance.
|
|
|
|