いくつかのテキスト ボックスとドロップダウン ボックスを含む Gridview を使用しています。ユーザーが行 (テキスト ボックスまたは DDL) をクリックすると、行番号を知らせる Javascript アラートをポップアップ表示したいと考えています。ユーザーがテキスト ボックスの 1 つをクリックしたときにイベントを発生させることはできますが、C# 変数を Javascript に入れる方法がわからないため、それがアラート内のどの行にあるのかをユーザーに伝えることはできません。アラート。
これが私が試したことです:
public void gv_instruments_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TextBox txtBox1 = (TextBox)e.Row.FindControl("txt_partNumbers");
if (txtBox1 != null)
{
txtBox1.Attributes.Add("onclick", "javascript:alert('Message')"); //works
Int32 selectedRow = e.Row.RowIndex;//get row index number
string message = "You've selected row: " + selectedRow.ToString();
message = "javascript:alert('" + message + "')";
//txtBox1.Attributes.Add("onclick", message); //doesn't work
string title = "title";
//ScriptManager.RegisterStartupScript(Page, Page.GetType(),
title, "alert('" + message + "');", true); //doesn't work
//ScriptManager.RegisterClientScriptBlock(Page,Page.GetType(),
title, "alert('" + message + "');",true); //doesn't work
}
}
}
この構成を使用しているページをインターネット上で見つけました"javascript:alert('" + message + "')";
が、機能しません (または、少なくとも機能させることはできません)。私は二重引用符と一重引用符に注意しており、デバッガーで有効なメッセージのように見えるものを見ることができます (EG: javascript:alert('You've selected row: 0')
、「you've」のアポストロフィも問題だったのではないかと思ったので、それを削除しました& これを「you have」に置き換えましたが、それも機能しません。
txtBox1.Attributes.Add("onclick", "javascript:alert('Message')");
私は何が欠けていますか?