メモ
ASP.NET 1.x のソース
string clientScript = "<script language='JavaScript'> alert('クライアント') <" + "/script>";
string startupScript = "<script language='JavaScript'> alert('スタートアップ') <" + "/script>";
RegisterClientScriptBlock("client", clientScript);
RegisterStartupScript("startup", startupScript);
このソースをASP.NET 2.0でコンパイルすると、
警告 1 'System.Web.UI.Page.RegisterClientScriptBlock(string, string)' は古い形式です:
'The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script).
http://go.microsoft.com/fwlink/?linkid=14202'
という感じでエラーがでますが、結局、どのように修正していいかわからないので、
こんな感じです。というメモ。
そもそも、引数がかわっているので、ヤヤコシス。
ASP.NET 2.0 のソース
// Define the name and type of the client scripts on the page.
String csname1 = "PopupScript";
String csname2 = "ButtonClickScript";
Type cstype = this.GetType();
// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
// Check to see if the startup script is already registered.
if (!cs.IsStartupScriptRegistered(cstype, csname1))
{
String cstext1 = "alert('Hello World');";
cs.RegisterStartupScript(cstype, csname1, cstext1, true);
}
// Check to see if the client script is already registered.
if (!cs.IsClientScriptBlockRegistered(cstype, csname2))
{
StringBuilder cstext2 = new StringBuilder();
cstext2.Append("<script type=text/javascript> function DoClick() {");
cstext2.Append("Form1.Message.value='Text from client script.'} </");
cstext2.Append("script>");
cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false);
}
MSDN ヘルプは以下を参照
http://msdn2.microsoft.com/ja-jp/library/z9h4dk8y(d=ide).aspx