ImageButton without image won’t fire

December 4, 2008 17:22 by Henrik Stenbæk

Just for the record

An asp:ImageButton without image won’t fire its events in Firefox

Remember this and save yourself an hour: always attach an image to your asp:ImageButton


Currently rated 4.5 by 2 people

  • Currently 4.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Using the switch code snippet with an enum

March 27, 2008 18:32 by Henrik Stenbæk

I just had one of those WOW experience today when I happened to use the switch code snippet with an enum.

I had an enum like this:

   1:  enum MyEnum
   2:  {
   3:      value_1,
   4:      value_2,
   5:      value_3,
   6:      value_4,
   7:      value_5
   8:  }

Start the video to se what happened when I tapped out of the snippet "switch_on" field.

WOW the snippet automatically created:

case MyEnum.value_1:
    break;

for each element in the enum. But how did it do that? Looking into the switch.snippet file I found:

<Literal Editable="false">
    <ID>cases</ID>
    <Function>GenerateSwitchCases($expression$)</Function>
    <Default>default:</Default>
</Literal>

 

It's the GenerateSwitchCases function that's doing the job - one out of 3 pre defined functions that available to "snippets"


Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Refactor: Extract Method

March 18, 2008 18:56 by Henrik Stenbæk

I don’t know about you but I for my part often end out writing linear code.

Maybe it’s a hangover from writing to much BASIC code in the mid 80’s or maybe it’s just me thinking linear and not that much object-oriented. After all I often end up with “long functions” that includes code that could be isolated in “sub functions”.

Today one of my colleges pointed out the Refactor->Extract Method function. This function takes a part of your code and isolate it’s in a separate function.

Look at the code in this Page_Load: its includes some silly greeting stuff (just for the demo), the function is long and hard to read, lets try to separate the greetings part in a separate function.

refactor-extract-method1

Highlight the code you want to move to a new function, right click and select Refactor -> Extract Metod.

refactor-extract-method2

 

Give the function a nice name (getGreeting). Notice the signature preview show what parameters the function will be created with.

refactor-extract-method3 

The Page_Load after generating the getGreeting function - nice and easy to read ;-)

 refactor-extract-method4

The auto generated function takes 2 parameters and return a string

refactor-extract-method5

kick it on DotNetKicks.com

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

StringComparison with .Equals

February 4, 2008 02:21 by Henrik Stenbæk

Based on http://vadmyst.blogspot.com/2008/02/when-stringtolower-is-evil.html

void DoBadAction (string val)
{
if (val.ToLower() == "somevalue")
{ //do something
}
}

Best method to do such kind of case insensitive comparison is using string.Equals(...) method.

void DoGoodAction(string val)
{
if (val.Equals("somevalue", StringComparison.OrdinalIgnoreCase))
{ //do something
}
}


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

GridView date formatting

October 23, 2007 05:44 by Henrik Stenbæk

DataFormatString="{0:dd-MM-yyyy}" HtmlEncode="false"


Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5