I may be wrong as it's been a long time since I worked with ASP.NET, but I believe you can simply change $(document).ready(function () { ... });
to $(window).load(function() { ... });
$(window).load(function () {
$.mask.definitions['~'] = '[+-]';
$('.phone').mask('(999) 999-9999');
});
Failing that, ASP.NET executes a function called pageLoad
every time a page loads:
function pageLoad() {
$.mask.definitions['~'] = '[+-]';
$('.phone').mask('(999) 999-9999');
};