前提・実現したいこと
for文の中にあるaspxのイメージボタンのタグに動的な属性値(i)を<%= i %>で渡してボタンクリック時に受け取りたい
環境(変更不可)
windows10,asp.net framework3.0,ビューエンジン:aspx,visual studio 2017
試したこと
①asp:ImageButtonのCommandArgument属性に渡した
②<button>のvalue属性に渡した
該当のソースコード
①asp:ImgeButtonを使用
aspx
1<% for (int i = 0; i < 10; i++){ %> 2<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/googlelogo_color_92x30dp.png" OnCommand="ImageButton_Click" CommandArgument="<%=i %>" /> 3<% } %> 4
C#
1protected void ImageButton_Click(object sender, CommandEventArgs e) 2 { 3 string i = e.CommandArgument.ToString(); 4 }
②<Button><image></Button>を使用
aspx
1<% for (int i = 0; i < 10; i++){ %> 2<button runat="server" onserverclick="Button_Click" name="i" value="<%= i %>"> 3 <asp:Image ID="Image1" runat="server" ImageUrl="~/googlelogo_color_92x30dp.png" /> 4</button> 5%>
C#
1protected void Button_Click(object sender, EventArgs e) 2{ 3 string i = Request["i"]; 4}
結果
"<%= i %>"という文字列をそのまま受け取ってしまい、ボタンが押された時の数値iを受け取れなかった。
なぜこのような結果になるのか、数値iを受け取るにはどうするべきか、ご回答宜しくお願い致します。ここまでお読みくださってありがとうございました。
回答1件
あなたの回答
tips
プレビュー