Jason N. Gaylord
Social Distancing since 3/10
Small planet on JasonGaylord.com A planet with rings on JasonGaylord.com
Visit JasonGaylord.com

Hello, I'm  jasongaylord Jason

I live with my family in the rolling hills of Northeastern Pennsylvania. I'm a web developer by trade, but have broad experience in various business areas. Want to know more about me?

Learn More

ASP.NET Podcast Show #54 - IIS7 with Brett, Thomas, and Chris

Show Notes:

Read More

Add Maps to Your Outlook Appointments

Microsoft Live now has an add-in for Outlook to allow directions and maps to be added to Outlook appointments. You can even send the maps and directions along with the appointment. You can download the add-in by visiting http://office.microsoft.com/search/redir.aspx?AssetID=XT101641041033&Origin=HH101650561033&CTT=5.

Read More

Filter A GridView After The Initial Bind

One of the goals that Microsoft has really pushed for in ASP.NET 2.0 is saving the amount of coding necessary to perform common tasks such as data access. On a recent project, I needed the ability to filter the results on a GridView control after I returned the results from my data source. To accomplish this, I added a DropDownList and set the AutoPostBack property on the DropDownList to True. I added two values to the list; one that showed all of the results, and one that showed the filtered result set which in my case was a list of exceptions. I also added a SqlDataSource object called MySqlDataSource. I set the OnChange event to a subroutine similar to below:

1
2
3
4
5
6
7
8
9
Private Sub FilterDropDownList\_Change(s as Object, e as EventArgs)  
    If FilterDropDownList.SelectedValue = "Filter" then  
        MySqlDataSource.FilterExpression = "MyColumn=1"  
    Else  
        MySqlDataSource.FilterExpression = ""  
    End If  
  
    MyGridView.DataBind  
End Sub

I added the sub MyGridView.DataBind to the subroutine because this subroutine occurs after the SqlDataSource object is created and the resultset is filled. In reality, you only need to perform the MyGridView.DataBind when the FilterExpression value is set to something other than "".

Read More

DotNetJunkies now CMP Managed?

I received a newsletter yesterday from what I thought was DotNetJunkies. However, it appears that DotNetJunkies is now part of the CMP network. Unless I missed something from earlier in the year, this happened yesterday. I guess it’s good for Doug Seven …

Read More

Flickering Images in Your Web Pages

Scott Guthrie pointed out some good tips to resolve an issue that occurs with images stored in CSS. Russ Helfand, who works on his team and has done some cool things such as an AJAX wiki and the CSS adapter kit, has a really cool solution by caching the images by using a handler.

Read More

Interesting Post by Julie Lerman about "Fake AJAX"

I just finished reading a post by Julie Lerman about “Fake AJAX” better known as FAJAX and couldn’t stop laughing. I know exactly what she means. If I counted the number of times users have asked me why does my page go blank when I click a button…

Read More

Adding Meta Tags and Stylesheets to ASP.NET 2.0 Pages Programmatically

I came across a blog entry by Rich Strahl about adding stylesheets to ASP.NET 2.0 web pages. The way Rick explained it is that he’d recommend a contentplaceholder in the header section of a MasterPage and to set the properties there. That’s just fine and dandy if the content you’d like to set is in a MasterPage to Page setup. However, you can easily set the header information programmatically in 2.0 by accessing the new Header class. Here is an example of how to do this:

1
2
3
4
5
6
7
8
9
10
11
12
13
Dim KeywordsHtmlMeta as new HtmlMeta  
  
KeywordsHtmlMeta.Name = "Keywords"  
KeywordsHtmlMeta.Content = "ASP.NET, Blog, Jason, Gaylord"  
Page.Header.Controls.Add(KeywordsHtmlMeta)  
  
Dim CSSHtmlLink as new HtmlLink  
  
CSSHtmlLink.href="~/style.css"  
CSSHtmlLink.Attributes.Add("rel", "Stylesheet")  
CSSHtmlLink.Attributes.Add("type", "text/css")  
CSSHtmlLink.Attributes.Add("media", "all")  
Page.Header.Controls.Add(CSSHtmlLink)
Read More

SharePoint 2007 Resources

If you’re looking for a good resource for SharePoint 2007, be sure to check out the official blog on MSDN. This week, they released beta 2 of SharePoint and includes links and installation gotchas on the site.

Read More

Oracle Is Providing Traffic To My Website

I was checking my website stats earlier today and noticed that Oracle was sending traffic to my site. Apparently, my site is listed in their documentation at [http://www.oracle.com/technology/products/jdev/htdocs/10.1.3.0.3/readme.html]http://www.oracle.com/technology/products/jdev/htdocs/10.1.3.0.3/readme.html). According to their site, I’m using technology that’s far too advanced for their [jdeveloper web service data control]http://www.oracle.com/technology/products/jdev/htdocs/10.1.3.0.3/readme.html#url2). Wink [;)]

Read More

Security Begins At The Developer

Last night at our .NET Valley event, we discussed security. The conversation started with an open ended question by Microsoft TechNet Presenter, Mike Murphy, asking “How do you know if you’ve been hacked?” Many of the IT Professionals gave their answer and then one of the developers there gave the answer “Besides event logs, I’m not sure.” This was a great answer. Reason is, most developers aren’t sure how to detect hackers. I won’t go into things you can look for here, but rather point out that developers know what to do to prevent hacking. The problem that we all agreed on last night is that everyone needs to be on the same page. Meaning, developers have to chat with dba’s, network admins have to discuss upgrades with developers, etc. Probably the biggest gap is that non-IT employees have to understand why IT spends money on security and the implications it can have on the business. Since 9/11, many companies have implemented disaster recovery plans which is great. However, many of these plans don’t include disasters such as the backup jobs becoming corrupt (see DotNetValley.com for more info on this one) or data being leaked (Veteran Affair incident last week). Even more common than these two incidents are things such as using impersonation to impersonate the account Administrator, requiring applications have Full Trust in .NET, leaving the sa username enabled on a SQL box with a blank password, and using weak password on “face” applications (ie: websites, web services, etc). As developers, we need to ensure that our methodology or development process includes full testing for security because in many of these cases, an intrusion detection system (IDS) cannot recognize these issues. <ramble end="true" />

Read More