バージョン

DialogContentID プロパティ

ダイアログのコンテンツを含むHTML要素のクライアント側のIDを取得または設定します。
シンタックス
'宣言
 
Public Property DialogContentID As String
public string DialogContentID {get; set;}

プロパティ値

ダイアログのコンテンツを含むHTML要素のクライアント側のIDを表す文字列。
解説

このダイアログが定義済みのHtmlBoxDialogである場合(つまり、コンポーネント内で作成されたすべてのHtmlBoxDialogsの場合)、このプロパティは、ダイアログのコンテンツを含む非表示のHTML要素を参照します。ダイアログが動作しなくなるので、定義済みのダイアログの値を変更しないでください。カスタムダイアログを作成する場合、このプロパティを使用できますが、ダイアログのコンテンツを提供するためにこのプロパティの代わりにHtmlBoxDialog.Textプロパティを使用することを推奨します。

使用例
'--------------------
' Note: custom buttons with all their properties can be created within aspx.
' That would reduce size of hidden viewstate field and improve persistance of properties.
' To generate toolbar items at visual design,- the editor for Toolbar property can be used.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
		If (Me.IsPostBack) Then
			Return
		End If
		'-------------------
		' Add a button with custom dialog which is defined in aspx.
		Dim myDialogButton As ToolbarDialogButton = New ToolbarDialogButton()
		myDialogButton.Key = "MyDialogButtonKey"
		myDialogButton.Type = ToolbarDialogButtonType.Custom
		Dim dialog As HtmlBoxDialog = myDialogButton.Dialog
		dialog.Caption = "This is my dialog"
		'-------------------
		' Note: the html element with id "MyDialogID" should exist within asxp.
		' Note: to connect dialog-content with its container, application
		' should process ClientSideEvents.Initialize.
		dialog.DialogContentID = "MyDialogID"
		dialog.Key = "MyDialogKey"
		dialog.TitlebarBackColor = System.Drawing.Color.Orange
		dialog.TitlebarFontSize = FontUnit.Point(12)
		Me.WebHtmlEditor1.Toolbar.Items.Add(myDialogButton)

		'-------------------
		' Add a button with custom dialog which is defined by the Dialog.Text property.
		Dim myDialogButton2 As ToolbarDialogButton = New ToolbarDialogButton()
		myDialogButton2.Key = "MyDialogButton2Key"
		myDialogButton2.Type = ToolbarDialogButtonType.Custom
		Dim dialog2 As HtmlBoxDialog = myDialogButton2.Dialog
		dialog2.Caption = "My Dialog 2"
		dialog2.Text = "Enter value:<input id='myDialog2Input' value='value from Dialog2' /><p></p><input type='button' onclick='myDialog2Click()' value='Click to insert text' /><script type='text/javascript'>function myDialog2Click(){iged_getById('WebHtmlEditor1').insertAtCaret(document.getElementById('myDialog2Input').value);}</script>"
		dialog2.Key = "MyDialog2Key"
		Me.WebHtmlEditor1.Toolbar.Items.Add(myDialogButton2)
End Sub




To connect DialogContentID with content of dialog (html elements in aspx), an application should process
<ClientSideEvents Initialize="WebHtmlEditor1_Initialize" /> event.
Codes below should appear within the HEAD section of HTML.

<script type="text/javascript"><!--
//----------------
// That function is called when WebHtmlEditor1 was initialized.
function WebHtmlEditor1_Initialize(oEditor)
{
	initializeMyDialog();
}

//----------------
// That function is called by WebHtmlEditor1_Initialize in order to
// initialize content of custom dialog, which is defined explicitly within aspx
var myDialogWasConnected = false;
function initializeMyDialog()
{
	if(myDialogWasConnected)
		return;
	myDialogWasConnected = true;
	//----------------
	// Find reference to html-element container for MyDialogID.
	// That value was set to ToolbarDialogButton.Dialog.DialogContentID
	var dialog = document.getElementById("MyDialogID");
	if(!dialog)
		return;
	//----------------
	// Find reference to html-element content for MyDialog.
	// The html element with that id was created within aspx.
	var content = document.getElementById("MyDialogContentID");
	//----------------
	// Remove MyDialogContentID from its temporary container (body of asxp-page)
	// and insert it into MyDialogID container, which is used by WebHtmlEditor.
	content.parentNode.removeChild(content);
	dialog.appendChild(content);
	//----------------
	// Undo initial hidden state.
	content.style.display = "";
	content.style.visibility = "visible";
}

//----------------
// That function is called by a button located in custom dialog MyDialogContentID.
// Build some object (here SPAN) and insert it into WebHtmlEditor at current selection.
function myDialogButtonClick2(message)
{
	var object = document.createElement("SPAN");
	var style = object.style;
	style.border = "2px solid red";
	style.background = "cyan";
	style.fontFamily = "verdana";
	style.fontStyle = "italic";
	style.fontSize = "10pt";
	style.padding = "5px";
	object.innerHTML = "This is SPAN with message '" + message + "' from MyDialog";
	//var oEditor = iged_getById("WebHtmlEditor1");
	//----------------
	// Close drop-down (dialog).
	iged_closePop();
	//----------------
	// Insert object (html element) into WebHtmlEditor at caret location.
	if(typeof iged_insNodeAtSel == "function")//Mozilla
		iged_insNodeAtSel(object);
	else//IE
		iged_insText(object.outerHTML);
}

//----------------
// That function is called by a button located in custom dialog MyDialogContentID.
// Build some text and insert it into WebHtmlEditor at current selection.
function myDialogButtonClick1(message)
{
	var field = document.getElementById("myDialogEditField");
	var text = field ? field.value : "Error: Can not find myDialogEditField.";
	text = "Message from dialog '" + message + "', where value of field='" + text + "'";
	//var oEditor = iged_getById("WebHtmlEditor1");
	//----------------
	// Close drop-down (dialog).
	iged_closePop();
	//----------------
	// Insert text into WebHtmlEditor at caret location.
	iged_insText(text);
}
// -->
</script>
//--------------------
	// Note: custom buttons with all their properties can be created within aspx.
	// That would reduce size of hidden viewstate field and improve persistance of properties.
	// To generate toolbar items at visual design,- the editor for Toolbar property can be used.
	protected void Page_Load(object sender, EventArgs e)
	{
		if(this.IsPostBack)
			return;
		//-------------------
		// Add a button with custom dialog which is defined in aspx
		ToolbarDialogButton myDialogButton = new ToolbarDialogButton();
		myDialogButton.Key = "MyDialogButtonKey";
		myDialogButton.Type = ToolbarDialogButtonType.Custom;
		HtmlBoxDialog dialog = myDialogButton.Dialog;
		dialog.Caption = "This is my dialog";
		//-------------------
		// Note: the html element with id "MyDialogID" should exist within asxp
		// Note: to connect dialog-content with its container, application
		// should process ClientSideEvents.Initialize.
		dialog.DialogContentID = "MyDialogID";
		dialog.Key = "MyDialogKey";
		dialog.TitlebarBackColor = System.Drawing.Color.Orange;
		dialog.TitlebarFontSize = FontUnit.Point(12);
		this.WebHtmlEditor1.Toolbar.Items.Add(myDialogButton);

		//-------------------
		// Add a button with custom dialog which is defined by the Dialog.Text property.
		ToolbarDialogButton myDialogButton2 = new ToolbarDialogButton();
		myDialogButton2.Key = "MyDialogButton2Key";
		myDialogButton2.Type = ToolbarDialogButtonType.Custom;
		HtmlBoxDialog dialog2 = myDialogButton2.Dialog;
		dialog2.Caption = "My Dialog 2";
		dialog2.Text = "Enter value:<input id='myDialog2Input' value='value from Dialog2' /><p></p><input type='button' onclick='myDialog2Click()' value='Click to insert text' /><script type='text/javascript'>function myDialog2Click(){iged_getById('WebHtmlEditor1').insertAtCaret(document.getElementById('myDialog2Input').value);}</script>";
		dialog2.Key = "MyDialog2Key";
		this.WebHtmlEditor1.Toolbar.Items.Add(myDialogButton2);
	}



To connect DialogContentID with content of dialog (html elements in aspx), an application should process
<ClientSideEvents Initialize="WebHtmlEditor1_Initialize" /> event.
Codes below should appear within the HEAD section of HTML.

<script type="text/javascript"><!--
//----------------
// That function is called when WebHtmlEditor1 was initialized.
function WebHtmlEditor1_Initialize(oEditor)
{
	initializeMyDialog();
}

//----------------
// That function is called by WebHtmlEditor1_Initialize in order to
// initialize content of custom dialog, which is defined explicitly within aspx
var myDialogWasConnected = false;
function initializeMyDialog()
{
	if(myDialogWasConnected)
		return;
	myDialogWasConnected = true;
	//----------------
	// Find reference to html-element container for MyDialogID.
	// That value was set to ToolbarDialogButton.Dialog.DialogContentID
	var dialog = document.getElementById("MyDialogID");
	if(!dialog)
		return;
	//----------------
	// Find reference to html-element content for MyDialog.
	// The html element with that id was created within aspx.
	var content = document.getElementById("MyDialogContentID");
	//----------------
	// Remove MyDialogContentID from its temporary container (body of asxp-page)
	// and insert it into MyDialogID container, which is used by WebHtmlEditor.
	content.parentNode.removeChild(content);
	dialog.appendChild(content);
	//----------------
	// Undo initial hidden state.
	content.style.display = "";
	content.style.visibility = "visible";
}

//----------------
// That function is called by a button located in custom dialog MyDialogContentID.
// Build some object (here SPAN) and insert it into WebHtmlEditor at current selection.
function myDialogButtonClick2(message)
{
	var object = document.createElement("SPAN");
	var style = object.style;
	style.border = "2px solid red";
	style.background = "cyan";
	style.fontFamily = "verdana";
	style.fontStyle = "italic";
	style.fontSize = "10pt";
	style.padding = "5px";
	object.innerHTML = "This is SPAN with message '" + message + "' from MyDialog";
	//var oEditor = iged_getById("WebHtmlEditor1");
	//----------------
	// Close drop-down (dialog).
	iged_closePop();
	//----------------
	// Insert object (html element) into WebHtmlEditor at caret location.
	if(typeof iged_insNodeAtSel == "function")//Mozilla
		iged_insNodeAtSel(object);
	else//IE
		iged_insText(object.outerHTML);
}

//----------------
// That function is called by a button located in custom dialog MyDialogContentID.
// Build some text and insert it into WebHtmlEditor at current selection.
function myDialogButtonClick1(message)
{
	var field = document.getElementById("myDialogEditField");
	var text = field ? field.value : "Error: Can not find myDialogEditField.";
	text = "Message from dialog '" + message + "', where value of field='" + text + "'";
	//var oEditor = iged_getById("WebHtmlEditor1");
	//----------------
	// Close drop-down (dialog).
	iged_closePop();
	//----------------
	// Insert text into WebHtmlEditor at caret location.
	iged_insText(text);
}
// -->
</script>
参照