I use MVC3 with Razor, I use WebGrid to display the grid, and I use the following code to swap for this grid.
My problem: The paging buttons should be the same size both when they are selected / pressed, and when they are absent / pressed.
I have some problems with CSS, I used CSS and javascript to achieve the design my client wanted, I reproduced it on this fiddle link http://fiddle.jshell.net/Z5L4g/
Razor code
@grid.Pager(mode: WebGridPagerModes.All, numericLinksCount: 15, firstText: "<<", lastText: ">>", previousText: "<", nextText: ">")
My CSS is body {font-family: Calibri; background color: # D8D8D8; margin-top: 0px; text-finish: no; }
#footer:not([href]) { letter-spacing: 0px; } #footer { text-align: center; margin-top: 10px; } .pagingCss { font-size: 13px; } .whiteBox { background-color: white; color: black; padding-right: 7px; padding-left: 7px; padding-top: 4px; padding-bottom: 4px; text-decoration: none; margin-top: 10px; letter-spacing: 0px; } .blackBox { background-color: black; color: white; padding-right: 7px; padding-left: 7px; padding-top: 4px; padding-bottom: 4px; text-decoration: none; margin-top: 10px; letter-spacing: 0px; } .pagingCss a { font-size: 13px; color: white; text-decoration:none; }
Javascript Code I used
var keywords = ['>>', '<<', '<', '>']; function linklabels() { var footerDiv = document.getElementById('footer'); var oldLinks = footerDiv.getElementsByTagName('A'); var oldLinksCount = oldLinks.length; var keywordsCount = keywords.length; for (var i = 0; i < oldLinks.length; i++) { if (oldLinks[i].firstChild.nodeValue == '>>' || oldLinks[i].firstChild.nodeValue == '<<' || oldLinks[i].firstChild.nodeValue == '>' || oldLinks[i].firstChild.nodeValue == '<') { var my_div = null; var newDiv = null; var newDiv = document.createElement("span"); var newContent = document.createTextNode(oldLinks[i].firstChild.nodeValue); newDiv.appendChild(newContent); newDiv.className = "whiteBox"; oldLinks[i].firstChild.nodeValue = ""; oldLinks[i].appendChild(newDiv); } else { var my_div = null; var newDiv = null; var newDiv = document.createElement("span"); var newContent = document.createTextNode(oldLinks[i].firstChild.nodeValue); newDiv.appendChild(newContent); newDiv.className = "blackBox"; oldLinks[i].firstChild.nodeValue = ""; oldLinks[i].appendChild(newDiv); } }
This is how my HTML displays after using the above code 
and the code is displayed as html below
<div id="footer" class="pagingCss"> <a href="/CompanySearch/Home/Results?page=1"> <span class="whiteBox"><<</span> </a> <a href="/CompanySearch/Home/Results?page=5"> <span class="whiteBox"><</span> </a> <a href="/CompanySearch/Home/Results?page=1"> <span class="blackBox">1</span> </a> <a href="/CompanySearch/Home/Results?page=2"> <span class="blackBox">2</span> </a> <a href="/CompanySearch/Home/Results?page=3"> <span class="blackBox">3</span> </a> <a href="/CompanySearch/Home/Results?page=4"> <span class="blackBox">4</span> </a> <a href="/CompanySearch/Home/Results?page=5"> <span class="blackBox">5</span> </a> 6 <a href="/CompanySearch/Home/Results?page=7"> <span class="blackBox">7</span> </a> <a href="/CompanySearch/Home/Results?page=8"> <span class="blackBox">8</span> </a> <a href="/CompanySearch/Home/Results?page=9"> <span class="blackBox">9</span> </a> <a href="/CompanySearch/Home/Results?page=10"> <span class="blackBox">10</span> </a> <a href="/CompanySearch/Home/Results?page=7"> <span class="whiteBox">></span> </a> <a href="/CompanySearch/Home/Results?page=10"> <span class="whiteBox">>></span> </a> </div>
I know that it should be really easy in some way or trick to do this, which I just can't find ... please help me with this.