|
|
25.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 preferable 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();");
|
25.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);
|
25.3 How to change the text color of a linkbutton control?
|
 |
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:
|
and can be combined with normal classes;
e.g:
|
The first line of this paragraph will be displayed in uppercase letters
|
25.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);
|
25.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")
|
25.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. |
25.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. |
25.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"])%>
|
25.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.
|
25.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 );
|
25.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
|
25.12 Why do I get the error message "Access is denied : <myctrl>" when I try to load a Custom Control?
|
 |
25.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">
|
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
|
<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 |
25.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);
|
25.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'");
|
25.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());
|
25.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();
|
25.18 How to specify 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") ;
|
25.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;") ;
|
25.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))
|
25.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;
|
25.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 guarantee optimum performance. |
25.23 What is the Use of the Login Status Control?
|
 |
The LoginStatus control will allow users to log out if they are currently logged in, and will display a link to the login page if they're logged out.
|
<asp:LoginStatus id=" lsUser" runat="server"/>
|
25.24 How can the page be posted to the different URL on a button click?
|
 |
In 2.0 Button control has a property PostBackURL, which force the page to the different URL on postback.
|
<asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/Navigate1.aspx" />
|
25.25 How can we define OnMouseOver Event for the ImageMap control(2.0)?
|
 |
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
|
25.26 How can the layout of SideBar in Wizard Control in (ASP.NET 2.0) be changed?
|
 | | |