We just went through this with our almost 2 year old. She fights it partly because she wants to do everything herself, and hates that I still have to do things for her. I explained to her several times that she needs to lay down on her back for her new diaper. WHen I announce that it's time for a new diaper, I remind her again that she must lay down on her back. If she resists, I give her a choice, "You can do it, or mommy will do it," meaning that mommy will lay her down if she doesn't do it voluntarily. At this point she will usually do it herself because she doesn't want me to do ANYTHING for her... very independent. I made up a silly diaper changing song that I sing (it's just long enough to get the job done) and I also told her that if she cooperates she gets to have cooperation kisses after the diaper is on (kisses on belly). I made up about 10 other silly things before I found that this combination works. It's been working for about a month now. I'm sure she'll get testy again in another month and I'll have to jump through hoops again... :) Try to make up something silly that will get him interested in sitting still for you, and try to give him a simple choice that will make him feel like he has SOME control over the situation, (like, 'do you want to bring this toy or that toy to the changing table.') I also have resorted to putting a diaper on one of her stuffed animals and making a big show of it, and talking about how the teddy bear did SUCH a good job cooperating, etc. This usually gets her attention, and suddenly she wants me to change her diaper too.
Also, if you haven't done so already, this might be a good time to introduce the potty. I don't mean potty training, I just mean get him a potty and let him know what it is for. He might show some interest in it. I think the refusal to change a diaper has more to do with independence than anything else.