Skip to content

Instantly share code, notes, and snippets.

@JayDouglass
JayDouglass / keybase.md
Created June 28, 2021 06:32
keybase.io

Keybase proof

I hereby claim:

  • I am jaydouglass on github.
  • I am jaydouglass (https://keybase.io/jaydouglass) on keybase.
  • I have a public key ASDJwUuI2vO5CBrW_vPpKzpU40_vcLrj0WG3uKCpkDvYmwo

To claim this, I am signing this object:

@JayDouglass
JayDouglass / WebControlExtensions.vb
Created August 6, 2013 14:06
Add / Remove CSS class for webforms controls
Public Module WebControlExtensions
<Extension>
Public Function AddClass(control As WebControl, cssClass As String) As WebControl
Dim cssClasses = control.CssClass.Split(New Char() {" "c}, StringSplitOptions.RemoveEmptyEntries).ToList()
If Not cssClasses.Contains(cssClass) Then cssClasses.Add(cssClass)
control.CssClass = String.Join(" ", cssClasses.ToArray())
Return control
End Function
<Extension>
@JayDouglass
JayDouglass / CallMethod.cs
Created July 7, 2013 11:28
Invoke any static method in a solution from a console program
namespace CallMethod
{
class Program
{
static void Main(string[] args) {
Console.WriteLine("Type: {0}, Method: {1}", args[0], args[1]);
var type = Type.GetType(args[0]);
if(type == null) throw new InvalidOperationException("type not found");
var method = type.GetMethod(args[1]);
if (method == null) throw new InvalidOperationException("method not found");
@JayDouglass
JayDouglass / CustomPagedDataSource.vb
Created May 15, 2013 14:57
CustomPagedDataSource to allow setting TotalItems on a DataSource
Sub BindGrid(pageIndex As Integer)
gvSchoolDistricts.PageIndex = pageIndex
ValidateForm()
If FormState.IsValid Then
Dim pagedDataTable = schoolDistrictDataAccess.Query(pageIndex + 1, gvSchoolDistricts.PageSize, txtLEA.Text.NullIfEmpty(), txtFiscalYear.Text.Parse(Of Int16?), txtDistrictName.Text.NullIfEmpty())
'gvSchoolDistricts.VirtualItemCount = CInt(pagedDataTable.TotalItems)
'gvSchoolDistricts.DataSource = pagedDataTable.Table
gvSchoolDistricts.DataSource = pagedDataTable.ToPagedDataSource()
gvSchoolDistricts.DataBind()
@JayDouglass
JayDouglass / Search.aspx.vb
Created May 14, 2013 20:57
Code behind for bootstrap GridView
Imports ChildNutrition.Web.Common.Validation
Imports ChildNutrition.Web.Common
Imports ChildNutrition.Web.Extensions
Imports ChildNutrition.Web.DataAccess
Namespace MonthlyClaims.Maintenance.SchoolDistrict
Public Class Search
Inherits BasePage
@JayDouglass
JayDouglass / PagerLinkButton.vb
Created May 14, 2013 20:36
Used by GridView.vb
Namespace Controls
Public Class PagerLinkButton
Inherits LinkButton
Dim _container As IPostBackContainer
Public Sub New(container As IPostBackContainer)
_container = container
End Sub
@JayDouglass
JayDouglass / GridView.vb
Created May 14, 2013 20:27
A subclass of GridView which outputs bootstrap compatible markup for the table and pagination.
Namespace Controls.Bootstrap
Public Class GridView
Inherits WebControls.GridView
Public Sub New()
UseAccessibleHeader = True
AddHandler DataBound, AddressOf UseTableHeaderTag
End Sub
@JayDouglass
JayDouglass / jquery_asp_webforms_selector.js
Created March 25, 2013 21:59
Generic way to find ASP control ids
String.prototype.endsWith = function(str) {
return (this.match(str + '$') == str)
}
jQuery.expr[":"].asp = function(a, i, m) {
return jQuery(a).attr('id') && jQuery(a).attr('id').endsWith(m[3]);
<input type="reset" value="Reset" class="button" />
@JayDouglass
JayDouglass / gist:5238005
Created March 25, 2013 15:36
Remove non-alphanumeric characters from a string \W matches non-alphanumeric characters
Regex.Replace("(501) 612-7315", @"\W", "")