Archive

Archive for the ‘Tips and Tricks’ Category

ASP.NET 4.0 and Control IDs

September 18th, 2009

In .NET 4.0 there is a new option when adding controls to a page or user control: ClientIDMode.  This property offers you four choices: Legacy, Static, Predictable, Inherit.  Previously it was almost impossible to find the id of a control in a normal matter such as jQuery.  Using

Choosing Legacy will continue to issue an ID in the same manner they were generated in previous version of ASP.NET, by concatenating the ID values of each parent naming container with the ID of the control.  Setting the property to Static will use the exact value of the ID property of the server control.  Predictable is used for controls that are data-bound controls such as repeater and also makes use of a ClientIDRowSuffix property.  Using Inherit makes the control ID property use the setting of its parent control.

In the example below, two lists are created inside the ContentPlaceHolder of a page using the same DataSource. The first is using the default and the second uses the new property with Static set as the value.

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <asp:XmlDataSource ID="LinkData" runat="server" XPath="Colors/Color">
        <Data>
            <Colors>
                <Color Name="Red"/>
                <Color Name="Blue"/>
                <Color Name="Yellow"/>
                <Color Name="Green" />
            </Colors>
        </Data>
    </asp:XmlDataSource>
    <asp:BulletedList ID="uxList" DataSourceID="LinkData" runat="server" DataTextField="Name" />
    <asp:BulletedList ID="uxListStatic" ClientIDMode="Static" DataSourceID="LinkData" runat="server" DataTextField="Name" />

    <script type="text/javascript">
        $(function() {
            $("#uxList").append("<li>Red</li>");
            $("#uxListStatic").append("<li>Brown</li>");
        });
    </script>
</asp:Content>

Here is the output of the page in HTML

<div>
    <ul id="ctl00_ContentPlaceHolder1_uxList">
        <li>Red</li><li>Blue</li><li>Yellow</li><li>Green</li>
    </ul>
    <ul id="uxListStatic">
        <li>Red</li><li>Blue</li><li>Yellow</li><li>Green</li>
    </ul>

    <script type="text/javascript">
    $(function() {
        $("#uxListStatic").append("<li>Brown</li>");
    });
    </script>
</div>

And the corresponding view in the browser

•    Red
•    Blue
•    Yellow
•    Green

•    Red
•    Blue
•    Yellow
•    Green
•    Brown

Because of the generated tag on the first list jQuery can’t find the control to append to.

Code Sample, Programming, Tips and Tricks, codeproject , , , ,

VS 2010 and .NET 4.0 Series

September 16th, 2009

Link to a bunch of articles on upcoming features in .NET 4.0 and VS 2010

http://weblogs.asp.net/scottgu/archive/2009/08/25/vs-2010-and-net-4-series.aspx

Programming, Tips and Tricks ,

Auto-Start ASP.NET Applications

September 16th, 2009

Scott Guthrie has an article up on his website discussing the new auto-start feature of web applications that will be available in IIS7.5 with ASP.NET 4.0.  I just learned about this last week at the Southern Fried Road Show.

http://weblogs.asp.net/scottgu/archive/2009/09/15/auto-start-asp-net-applications-vs-2010-and-net-4-0-series.aspx

Programming, Tips and Tricks , ,

960 Grid System

September 15th, 2009

I am going to try and enlist the 960 Grid System on a website I am working on.

“The 960 Grid System is an effort to streamline web development workflow by providing commonly used dimensions, based on a width of 960 pixels. There are two variants: 12 and 16 columns, which can be used separately or in tandem.”

http://960.gs/

Programming, Tips and Tricks

40+ open source apps and games

September 14th, 2009

Here is a list of apps and some games that are very useful.  There are a few I hadn’t heard of but will soon be installing.

http://www.downloadsquad.com/2009/05/18/40-great-open-source-apps-and-games-to-trick-out-your-new-windows/

Tips and Tricks

IE and ContentEditable Attribute

September 1st, 2009

Ran into an issue today using jQuery with IE and setting ContentEditable=’true’ on a click command. First I created a div with ContentEditable set to true without jquery and ran it in IE. Ok, it’s working. Now to try and add the attribute dynamically. I removed the attribute and replaced it with this bit of javascript:

$(function(){
$("#test").click(function() {
$(this).attr({ ContentEditable: "true" });
});
});

This did not work. Even though IE would allow the Cap “C” to set to true without jQuery, it would not work in doing so dynamically. Changing to:

$(function(){
$("#test").click(function() {
$(this).attr({ contentEditable: "true" });
});
});

Works perfectly.

Dont Forget, Tips and Tricks

Entity Framework Code Only option

June 12th, 2009

.NET 4.0 and VS 2010 introduce a new feature for the Entity Framework called model first.  In addition, you will now be able to have a code only model. Written with POCOs and a simple class derived from ObjectContext and you are on the way…

http://blogs.msdn.com/efdesign/archive/2009/06/10/code-only.aspx

Programming, Tips and Tricks , , , ,

Using T4 to Generate Stored Procs for Entity Framework

May 11th, 2009

T4 code generation has been on my short list of things to look into but keeps getting put off as i navigate down some other endless path.  Meanwhile, I found a nice article on using T4 to generate stored procs for CRUD operations for the Entity Framework.

Entity Framework Stored Procedure Generation

Thanks David.

Programming, Tips and Tricks , ,

Forms Authentication and Session Timeout

May 6th, 2009

Ran into an issue on a website where the Session was timing out yet the forms auth ticket was still valid which was causing errors. Here is one solution:

http://dotnethitman.spaces.live.com/blog/cns!E149A8B1E1C25B14!210.entry

The GU also mentions some of this in the post and in digging through all the comments.
http://weblogs.asp.net/scottgu/archive/2005/11/08/430011.aspx

Programming, Tips and Tricks ,

Membership, Roles and Profiles

May 6th, 2009

Recently i’ve been researching the default providers in .NET for Membership, Roles and Profiles and came across this code which provides a custom implementation of the above with simple db structures behind them. http://altairiswebsecurity.codeplex.com/

Tips and Tricks , ,