We discussed this issue at some length just now. There were a couple of different viewpoints, but ultimately we all agreed on a solution we like.
The problem with modifying the .js behavior itself (as I was initially planning to do) is that we introduce JavaScript/C# conventions ('\n' -> new line) into a .ASPX page that may be written in VB (or some other language). This could be confusing for page authors. Additionally, we'd have to choose exactly what escapes to support and that choice could be kind of arbitrary.
Instead, the proposal was to let the page author make the necessary change in the language of their choice by having them modify the OnLoad member of their page to override the ConfirmText property of the relevant ConfirmButton control(s). It's not quite as seamless, but it has the benefits that a) it works in the page's programming language, b) you can make the change with the current release, and c) you never need to make the change again even as we release new Toolkits. Sounds good, huh?
An example of this technique in action:
I added the following to ConfirmButton.aspx.cs to add the appropriate new line characters:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
ConfirmButtonExtender1.GetTargetProperties(Button1).ConfirmText = "Are you sure you want to do this?\n\nReally sure???";
}
And, to avoid confusion, changed ConfirmButton.aspx from:
<atlasToolkit:ConfirmButtonProperties TargetControlID="Button1" ConfirmText="Do you have any idea what this button does?" />
To:
<atlasToolkit:ConfirmButtonProperties TargetControlID="Button1" ConfirmText='[Set by ConfirmButton_ConfirmButton.OnLoad]' />
That's it! The result is a confirm dialog with new line characters just like you'd expect. Hope you like it!!