I didn't suggest that either. You mentioned that you want to avoid writing inline JS. Calling a javascript function is inline javascript.

Doing an .Attributes.Add("onclick","javascript:ConfirmUpdate()") is also the equivalent of using inline js because that's what it renders out to in the <input> tag's attribute.