Personal Blog of Mustafa Basgun

Archive for the ‘ASP.NET’ Category

Getting Syntax Error in ASP.NET Routing Due to WebResource.axd

with 6 comments

If you implement routing in an ASP.NET 4.0 web application and use the validation controls in it, it is good to keep in mind that you need to add an exception for the .axd files in your Global.asax file. Otherwise, you will keep getting a syntax error because the routing picks up the .axd files and not properly loads the JavaScript files needed for the validation controls.

mustafa-basgun-blog-aspnet-routing-error-1

mustafa-basgun-blog-aspnet-routing-error-2

If same issue occurs in an ASP.NET 3.5 SP1 application, you can use the StopRoutingHandler class which implements the IRouteHandler interface.

Written by Mustafa Basgun

October 25, 2010 at 9:51 PM

Posted in AJAX, ASP.NET, C#, Web Development

Tagged with ,

Getting Connection String From Web.Config Inside A DLL Code

leave a comment »

I have been working on creating some .NET dlls at work which would commonly be utilized by our web applications. And, one of the requirements was getting the connection string information from web.config file. Simply making the call by using the ConfigurationManager class wouldn’t work since it was giving some kind of compile time error when you try to build the dll. So, I needed to find a workaround to retrieve the connection string from either connectionStrings or appSettings elements. Here is the solution that I have figured out so far.

Necessary namespaces:

mustafa-basgun-blog-aspnet-connstring-webcofig-1

Generic function that grabs the information based on your connection string name:

mustafa-basgun-blog-aspnet-connstring-webcofig-2

Sample usage:

mustafa-basgun-blog-aspnet-connstring-webcofig-3

To understand the ConnectionStringSettingsCollection and NameValueCollection classes, followings links would be helpful:

http://msdn.microsoft.com/en-us/library/system.configuration.connectionstringsettingscollection.aspx
http://msdn.microsoft.com/en-us/library/system.collections.specialized.namevaluecollection.aspx

Written by Mustafa Basgun

March 22, 2009 at 7:20 AM

Want To Validate Username Availability Asynchronously?

leave a comment »

While I was reading my feed aggregator at the weekend, I was paid attention to the recent post from Encosia because of its title. Validating a username asynchronously would be a great functionality in almost every types of online registration scenarios. Right after reading the post, I downloaded the binary file from CodePlex and created a very simple demo in about half an hour. That was really easy to implement.

Implementation

Before starting to code, be sure that the dll that is downloaded from CodePlex is in the Bin directory:

mustafa-basgun-blog-aspnet-validate-username-1

My sample (yes, very simple) registration form is:

mustafa-basgun-blog-aspnet-validate-username-2

As it can be seen, the trick is with the ServicePath and ServiceMethod attributes. ServicePath is the path to the webservice housing the ServiceMethod, and ServiceMethod is the method checking the availability of a username. My sample (yes, again very simple) webservice is:

mustafa-basgun-blog-aspnet-validate-username-3

Details of other attributes of the control can be read via its Discussions page at CodePlex.

Finally, here is how the form looks like after all these implemenations:

mustafa-basgun-blog-aspnet-validate-username-4

Download

You can download this sample registration form from here.

Issue Tracker

I would encourage to write your comments to here if you face any issues about the control.

Written by Mustafa Basgun

October 6, 2008 at 9:51 PM

Implementing New Virtual Earth Map Control in ASP.NET

with 4 comments

When the July 2008 CTP of Live Tools were released a few weeks ago, I was kind of impressed with the Map control. I finally had a chance yesterday to read more about it and develop my own simple testing page. You may need to download this CTP release first before reading the rest of this post.

Implementation

Here is the 5 steps to implement this control into any ASP.NET page:

1. When you create a new website, select “ASP.NET Windows Live Web Site” as a template:

2. Be sure that “Microsoft.Live.ServerControls.VE.dll” is in the Bin directory:

3. Be sure that “Virtual Earth” tab is in the Toolbox:

4. Drag the “Map” control and drop it into the ASP.NET page, and play around with some of the attributes in it:

Note: Latitude and longitude of any location can be found in Terraserver. This sample demonstrates the aerial view of a mall that is very near to my house.

5. Press the magic key (F5) to build and view the sample page:

Download

This sample can be downloaded via here.

Written by Mustafa Basgun

August 15, 2008 at 8:05 AM

Manual Sorting with ListView by Using Drag and Drop

leave a comment »

Introduction

I have been following Matt’s jQuery related posts, and trying to get myself familiar with this new library. While searching for tutorials about it, I accidentally found this great blog. Accident followed by another accident, I figured out that one of their JavaScript posts can be applicable to the ListView control in order to create a “drag and drop” based manual sorting within the items of the ListView.

• I strongly suggest reading the original post first before passing to the rest of this post.

Implementing The Original Post…

As a data source, I just grabbed the XML file that I used before in here, and simplified it.

Here is the CSS implementation of the original post into my sample ASPX page:

And then, I created the DIVs programmatically by using a ListView as in the following:

If you look at the JavaScript.js file that I used in my sample code, you will see that the load function has been commented since I needed to create the “dragObject” objects dynamically in that function:

As a result of this, I organized the Page_Load event as:

Download

You can download the sample application via here.

Written by Mustafa Basgun

June 30, 2008 at 6:00 PM

Maintain Scrollbar Position Inside UpdatePanel After Partial PostBack

with 42 comments

I have recently figured out that if there is a scrollbar’ed Panel control inside an UpdatePanel, it looses its scrollbar position after any type of partial postback within that UpdatePanel. There can be a GridView, a DIV container or another similar control instead of this Panel.

I have searched and found some workarounds at ASP.NET forums, and this specific one was the easiest one to implement into every situation in order to gain back the position of scrollbar. I enhanced it a bit by handling null cases and using the ClientID property. Here is the result:

mustafa-basgun-blog-maintain-scrollbar-inside-aspnet-updatepanel-1

Update

You can read the “Reusable JavaScript Component” version of this post in here. Thanks Matt!

Written by Mustafa Basgun

June 9, 2008 at 3:28 PM

Enhancing Paging in ListView by Using DataPager

with 3 comments

DataPager is one of the new controls in ASP.NET 3.5, and it provides paging functionality for data-bound controls that implement the IPageableItemContainer interface, which is only the ListView control for the time being.

By default, DataPager has two commonly used paging styles:

• Numeric Pager via NumericPagerField

• Next and Previous Pager via NextPreviousPagerField

To get an idea about how to implement these basic common styles, you can read this post.

This post will explain how to enhance the paging experience in a ListView by using both a NextPreviousPagerField and a DropDownList which will enable users to select the page size of ListView. This page size is actually the PageSize property of the DataPager, and this property defines the number of records that are displayed for each page of ListView.

To avoid complexity, the following simple XML file (Contacts.xml) will be used as a data source:

And, the XMLDataSource that consumes this XML file is:

“xdsDemo” is the DataSourceID of the ListView “lvDemo”:

After getting this data binding done, LayoutTemplate of “lvDemo” should be similar to the following:

Even though it is not completely related with the topic and emphasis of this post, ItemTemplate and AltenatingItemTemplate templates of “lvDemo” are:

Finally, here is the code that sets DropDownList (ddlDemo) and DataPager (dpDemo):

As a conclusion of all these things, the result on the browser should be like:

Download

Sample code for this demo application can be downloaded via here.

Written by Mustafa Basgun

May 7, 2008 at 10:30 AM