次のようにラベルコントロールとjavascript関数callme()があります。[ラベルを押す]をクリックすると機能します。
<asp:Label ID="lblpress" runat="server" onclick="callme()" Text="Press"></asp:Label>
サーバー側のイベントからプログラムでこのラベルのクライアント側のイベントをクリックしたいのですが、どうすればよいですか。
次のようにラベルコントロールとjavascript関数callme()があります。[ラベルを押す]をクリックすると機能します。
<asp:Label ID="lblpress" runat="server" onclick="callme()" Text="Press"></asp:Label>
サーバー側のイベントからプログラムでこのラベルのクライアント側のイベントをクリックしたいのですが、どうすればよいですか。
protected void Page_Load(object sender, EventArgs e)
{
lblpress.Attributes.Add("onclick", "'callme()'");
//if the attribute already exist, you can change it this way
lblpress.Attributes["onclick"] = "'callme()'";
}
Attributes コレクションには、Web サーバー コントロールの開始タグで宣言されたすべての属性のコレクションが含まれます。これにより、Web サーバー コントロールに関連付けられた属性をプログラムで制御できます。コレクションに属性を追加したり、コレクションから属性を削除したりできます
これを行うには、RegisterClientScriptBlockを使用できます。
String csName = "LabelClickScript";
ClientScriptManager cs = Page.ClientScript;
StringBuilder csText = new StringBuilder();
csText.Append("<script type=\"text/javascript\"> function DoClick() {");
csText.Append("alert('Text from client script.')
}
DoClick();
</");
csText.Append("script>");
cs.RegisterClientScriptBlock(this.GetType(), csName, csText.ToString());
HTMLでリンクボタンやアンカーなどの適切なコントロールを使用しないのはなぜですか