<

Some ASP.NET Practical tips

Published on
11,139 Points
3,739 Views
4 Endorsements
Last Modified:
Approved
In an ASP.NET application, I faced some technical problems. In this article, I list them out and show the solutions that I found.  I hope it will be useful.

Problem:
After closing a pop-up window, the parent page should be refreshed automatically.

Solution:
In the parent page, call the method to pop-up a user defined page on any click event.
  var url = 'ManageFormsPopup.aspx';
 //Show the category window to manage categories
 var prefrence="height=400,width=500,status=yes,toolbar=no,menubar=no";
 window.open(url, null, prefrence);

Open in new window

In the child page, trigger the onbeforeunload method.
window.onbeforeunload = RefreshParentPage;
//  ... 
function RefreshParentPage()
{
   // Refresh the parent page.
   window.opener.location.href = window.opener.location.href;
}

Open in new window


Problem:
Inside an asp:panel control, RequiredFieldValidator is not working

Solution:
You can keep the RequiredFieldValidator outside of the panel.  This will not place the error message next to the text box. To place error message near to the text box, we have to validate explicitly using a Javascript function, like so:

function Validate()
{
  var categoryName = document.getElementById('<%=txtCategoryName.ClientID%>').value;

  if(categoryName.toString() == "")
  {
    document.getElementById('<%=lblValidate.ClientID%>').innerHTML = "Please enter Category Name";
    return false;
  }
  else {
    document.getElementById('<%=lblValidate.ClientID%>').innerHTML = "";
  }
  return true; 
}

Open in new window


Problem:
While displaying a PDF file in a page, Reponse.End() throws an exception.

Solution:
Instead of Response.End() we could use Response.Close() to avoid the exception.

if (System.IO.File.Exists(FilePathVal))
{
    FileInfo fi = new FileInfo(FilePathVal); 
    long size = fi.Length;
    Response.AddHeader("Content-Length", size.ToString());
    Response.ContentType = "application/pdf";
    Response.BinaryWrite(File.ReadAllBytes(FilePathVal));
    Response.Flush();
    Response.Clear();
}

Open in new window


Problem:
Before deleting a grid record, the user must be presented with a confirmation dialog.

Solution:
In the grid, use LinkButton template column.
<asp:TemplateColumn HeaderText="Delete">
<ItemTemplate>
<asp:LinkButton ID="lblDelete" CommandName="Delete" runat="server" Text="Delete"
 OnClientClick="javascript:return confirm('Are you sure you want to delete ?');"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>

Open in new window


Problem:
In a Grid link button (for example, clicking on Filename link button), a single click is not working sometimes.  Instead double clicking is working.

Solution:
The events should be bound to the link button while data bound itself using onItemDataBound event.
In client side:
<asp:DataGrid ID="grdResources" runat="server" AutoGenerateColumns="False"
 Width="100%" DataKeyField="ResID" OnItemDataBound="grdResources_ItemDataBound">

Open in new window

In server side:
protected void grdResources_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
Private const URL = "some file name";
   if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==  ListItemType.AlternatingItem)
  {
    lnkSelect.Attributes.Add("onclick", "javascript:window.open('" + URL + "'); return true;");
  }
}

Open in new window


Tip:
From a string array, you would like to check existence of a string quickly?
Create a List item for the string array and use Contains method of it.

private const string FormsAdmin = "FormsAdmin";
string[] Roles = cUser.Roles; 
List<string> RoleList = new List<string>(Roles);
if (RoleList.Contains(FormsAdmin))
{
  // Found the string.

}

Open in new window

4
Comment
2 Comments
 
LVL 16

Author Comment

by:Easwaran Paramasivam
Happy Reading! Happy coding!!
0
 
LVL 1

Expert Comment

by:myaspnet
thank you
0

Featured Post

Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

Join & Write a Comment

In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
Wrapper-1-Query. Use an Excel function to calculate a column for an Access query. Part 1. Shows a query in Access that has a calculated column with the results of an Excel worksheet function. See how to call a wrapper function from a query, and …
Other articles by this author

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month