Измените процесс на это:
INSERT INTO [User_ExtraInfo] ([UserId], [FirstName], [LastName], [Degree], [Organization], [Phone], [Ext], [last4SSN],[Trained]) VALUES (@UserId
, @FirstName
, @LastName
, @Degree
, @Organization
, REPLACE(REPLACE( REPLACE(@Phone,'(',''),')','') ,'-','') , @Ext )
Причина, по которой я предлагаю этот подход, заключается в том, что вы используете объект SQLDatasource, и я не думаю, что можно указать параметру вставки - по крайней мере, декларативно из разметки - игнорировать маску. Ваш лучший выбор, вероятно, просто изменить процедуру.
ОБНОВЛЕНИЕ - программный подход:
Добавить обработчик для OnInserting в SqlDataSource:
<asp:SqlDataSource ID="InsertExtraInfo" runat="server" OnInserting="On_Inserting"
Обработайте событие в коде и выполните замену там:
protected void On_Inserting(Object sender, SqlDataSourceCommandEventArgs e) {
e.Command.Parameters["@Phone"].Value=phone.Text.Replace("..."); // etc
}
Примечание: не проверено, но это идея.