Contents tagged with .NET
The problem seems to be when using a background style, it takes out the space between the image url close bracket and the next style.
Not a problem in IE 9 or chrome (haven’t tested others).
So I set about researching the problem and found nothing…struggled a bit getting the search term right and clearly never mastered it as I found zip.
Not to be put off, I was looking at the YUI compression tool from Yahoo, said to be better…but needs the java runtime and seems to complex to simply use, certainly for my simple taste!
Then I found a YUI .net implementation on codeplex. Excellent, its was even in NuGet.
However…I wanted it as a build task to run in VS, I don’t really want to think about this stuff more than once.
So I wrote a little command line wrapper for it. Excellent. Even got ILMerge involved to merge the YUI dll’s into my exe. I know there are ways to use Reflection to load dll’s as embedded resources…but I didn’t fancy doing that!
I did look at using CommandLine (also on codeplex) as I have done before, but ILMerge does not like that. Don’t take my word for it, but it seems to be something to do with ILMerge is .net 2 and CommandLine uses some .net4 features. It wasn’t happy…anyway, I just wrote a few lines of code to parse the command line args myself.
It’s not complex or very flexible, but is very suitable to my needs.
You can pass in an array of files to minify and a target path. That’s it. It’ll merge the files if you pass more than one…you have no choice!
> SCmin.exe –s C:\big.css C:\big1.css –t C:\small.css
// This will take big.css and big1.css and put it into small.css
Download the exe or full source.
If you are using MVC it might be worth checking out the telerik controls (http://demos.telerik.com/aspnet-mvc), they are free if you are doing an internal or “not for profit” application.
If however you do choose to use them, you could come up against a little problem I had. Using the telerik controls with your own custom jQuery. In my case I was using the jQuery UI dialog.
It kept throwing an error where I was setting my div to a dialog.
The problem is when you use the telerik mvc stuff you need to call ScriptRegistrar
By default this adds a reference to jQuery and if you have already added a reference to jQuery because you are using it elsewhere, this causes a problem.
I found the solution here
And it was to change the above ScriptRegistrar call to this…
If you come across this one on stackoverflow it wont work – in my case the HtmlEditor would render no problem, but was unusable. Which is the same as someone else found when using the tab control – they went to the bother of re-writing the ScriptRegistrar. Not for me that one!!
You may come up against this little error when working on a MVC application, I specifically find things like this crop up when you are upgrading from previous version e.g. VS 2008 to 2010 and the like.
They are a complete pain in the bum quite frankly, you can spend hours googling around, trying this trying that, posting questions here and there etc etc…so I’m adding to the this and that which you will of course try, because it’s the sort of error you don’t care about…it’s just getting in the way of your day!
There would seem to be some kind of issue with MvcBuildViews and this error http://goo.gl/ogo1e
Anyway, what worked for me was to delete the debug directory from within the obj directory and it all worked…
Hopefully this will help someone else!! Or at the very least be something else to try on the way to solving another time wasting issue!!
UPDATE: May have been a bit hasty in my excitement of solving this…its really only part solved as I find i have to delete the debug directory every time I want to publish/package!
If for some reason you need to specify a specific connection string for a DataContext, you can of course pass the connection string when you initialise you DataContext object. A common scenario could be a dev/test/stage/live connection string, but in my case its for either a live or archive database.
I however want the connection string to be handled by the DataContext, there are probably lots of different reasons someone would want to do this…but here are mine.
- I want the same connection string for all instances of DataContext, but I don’t know what it is yet!
- I prefer the clean code and ease of not using a constructor parameter.
- The refactoring of using a constructor parameter could be a nightmare.
So my approach is to create a new partial class for the DataContext and handle empty constructor in there.
First from within the LINQ to SQL designer I changed the connection property to None. This will remove the empty constructor code from the auto generated designer.cs file.
Right click on the .dbml file, click View Code and a file and class is created for you!
You’ll see the new class created in solutions explorer and the file will open.
We are going to be playing with constructors so you need to add the inheritance from System.Data.Linq.DataContext
Add the empty constructor and I have added a property that will get my connection string, you will have whatever logic you need to decide and get the connection string you require. In my case I will be hitting a database, but I have omitted that code.
Now when I new up my DataContext, I can just leave the constructor empty and my partial class will decide which one i need to use.
Nice, clean code that can be easily refractored and tested.
Share this post :
Straight after listening to the show, with the advice of Scott Cate (a promotion code), I hot stepped over to http://easydb.com to sign up. After waiting for a few days, maybe a week and still having heard nothing I tried again and was greeted with this little chestnut...
...and that remains to this day.
Why bother doing a dnrtv episode then not letting me in to try it, blog about it and generally test it???? Pointless...
Anyone else using this beta that may have the power to let me in?!?!
LINQ goes so much further than just SQL and XML.
Something like this is just why I love LINQ, a LINQ query on an ASP.NET ListView controls items.
1: Dim items = From lvi In AspNetListViewControl.Items _
2: Where CType(lvi.FindControl("DropDownList1"), DropDownList).SelectedValue = someIntVar _
3: Select lvi)
Getting a ListViewItem's where the selected value of a DropDownList is set to the value I want. So simple, yet so powerful.
The observant among you will notice that this is in VB.net, not my native C#!! More on that soon! :)
If your in a rush, the home page is:
and you can download it from here: