NOTE - this DIY outlines a procedure I performed on my own car (2007 e90). Your results may vary - try at your own risk.
My seat-back nets got a little sad-looking - droopy and stained. I decided to see if I could get them replaced. It turns out that you have to purchase the entire seat-back panel. They are listed at $111 on RealOEM:
I thought that might actually be cool - black seat-backs on beige seats. But I decided to try dying the nets first, since that would be a fairly cheap fix. I figured the net trim would pop right out, but it turns out it wasn't as easy as I thought. You have to remove the entire seat-back panel and cut the trim out. So, I figured what the heck - if I screw it up I'll just buy new panels. I made some mistakes and the result is not perfect - basically I took one for the team so others can learn from my mistakes.
I used RIT dye. It turned out ok, but not perfect. They look more grey than black. I was really hoping for a dark black net, but since they are made of some kind of poly/nylon, dying them is challenging. Here is a quote from the RIT website:
"For more intense color when dyeing fabrics containing cotton, rayon, ramie, or linen, add 1 cup salt to the dye bath. When dyeing nylon, silk and wool, add 1 cup white vinegar to the dye bath. If possible delay adding the salt or vinegar until 5 minutes after the fabric has been in the dye bath. The delay will help to promote level dyeing."
So for anyone wanting to try this - I recommend using their technique. Unfortunately for me, I did not find this bit of wisdom until after I'd completed the project. Doh!
So here is the step-by-step process. It helps to see what the seat-back looks like before you start. There are six components holding the seat-back panel in place, and ten heat-pressed rivets holding the netting trim in place. At the top of the panel are two tabs that lock the top of the panel in place (these tabs were white on my car). On each side is another tab that locks the sides in place (these tabs were black on my car). On the bottom of the panel are two grippy-style plastic rivets - take a look at the bottom of your own seat panels and you will see two small round button-like discs.
Step 1: Remove the seat-back panel. This is a bit tricky - like most panels the key is knowing where to start. The basic process is to push the seat panel down, which is counter-intuitive. I wanted to pull it up, or out. You cannot pry the grippy-style rivets out - don't try. Instead, put the seat-back in the full and upright position (always wanted to say that) to give you more access, and just get your fingers up under the panel where the rivets are, and start to pry the panel-bottom downward - the rivets will begin to come out, but won't come completely out because they are about 4cm long. But once you get them started, you can then begin pushing downward on the panel. In this fashion, you will eventually get the grippy rivets out and the panel will slide down and off.
Step 2: Cut the netting trim panel off. The trim panel that holds the netting is heat-pressed into place. That is, the trim has 10 hollow posts that are inserted into holes in the seat-back, and then melted/pressed with a special tool. The only way to get them off is to cut them off. I used a sharp chisel and the melted tabs popped right off. Once they're all cut off, pop the trim piece out. Then clean up the posts - they will have melty-gunk around tips.
Step 3: Remove the netting. The netting is held to the trim with a three-sided wire hoop. The top elastic band is crimped on each end - those crimps are held into slots in the trim with small dot-like tabs.
Pop them out and then use a flat-blade screwdriver to pop the wire hoop out all the way around. Then remove the hoop from the netting.
Step 4: Fill the netting trim posts with epoxy. This will be necessary in order to have a solid post to drive the fastening screws into the trim later, in order to fasten the trim back onto the seat back. On the first seat I used JB Weld, and it seemed to work fine. But it didn't work on the second seat, probably because my mix was off (it never really hardened). Since I was out of JB Weld, I used a plastic epoxy, and it worked fine. The important thing is to really pack the epoxy in there so there are no air gaps - it should be solid. Clean up around the posts so they'll slide back into their seat-back holes, and let it cure overnight. (first pic below shows the posts filled with JB Weld)
Step 5: Re-weave the wire-hoop into the netting. You can dye the netting first, but I elected to re-weave it first so I could use the wire hoop to handle the netting in the dye bath. Now here is where you can tighten up a sagging net by weaving the hoop into the more inner part of the net - in other words, the wire hoop was originally woven into the very outer part of the net, but if you weave it in further toward the center (leaving slack on the sides), it will have the effect of tightening the net. Hope this makes sense - difficult to explain. Simply weave the wire alternately in-out-in-out all the way around the three sides of the net. You'll have to bunch it up as you go, but when you're done you can even it all back out.
Step 6: Dye the netting. Follow the dye manufacturer's recommendations. As I mentioned, you may want to try the salt/vinegar technique to get a really good set. Not sure it will work, but please report here if you try it so others can benefit. Make sure you dye both nets at the same time so they come out identical. Rinse and dry thoroughly.
Step 7a (optional): Tighten the top elastic band. You may or may not want to attempt this. It can be tricky. There is a metal crimp on each end of the elastic band, and the very ends of the band are heat-melted to keep them from fraying. I used an awl and fine needle-nose pliers to get the crimp off one end, cut 1cm or so off the band, re-crimped it and heat-melted the end. However, getting that crimp off is very tricky. With some patience, on the first seat it worked like a champ. On the second seat, the crimp broke in two. I had to fashion my own crimp back onto the band in order to get it to seat into the trim piece.
Step 7b: Reattach the netting to the trim piece. This is the reverse of how you got it off in the first place - just snap it in.
Step 8: Reattach the trim piece to the seat-back. The tricky part here is depth. That is, you will need to drill holes in your epoxied posts, and then drive screws in to secure the trim - if your drill bit or screws are too long, you will break through the trim piece. On one of my trim pieces, the screw was *just barely* too long, and created a small pimple on the outside of the trim. Caution! This sort of defeats the purpose of the project, which is to make the trim look better than when you started! I used a combination of screws which I found at the hardware store. I recommend using the small one all the way around - don't take chances. Even with the small screw, I had to use a washer on the screws I used for the sides of the trim, since the posts there are very shallow.
Step 9: Reinstall the seat-back. Installation is the reverse of removal - see step 1. And here is the final result. As I said, dark black would have been better. If anyone tries this and has a better dying technique, please post up so others can learn!