【问题标题】:Programmatically display the image button in asp.net c#以编程方式在asp.net c#中显示图像按钮
【发布时间】:2021-02-04 08:20:45
【问题描述】:

我得到了如下所示的预期输出,但我怎么知道用户点击了哪个按钮? enter image description here

下面是我在 asp.net 中的代码,或者我应该使用 asp:Repeater 来执行此操作?

    <table style="width: auto">
     

        <% int count = 1;

            for (int i = 0; i < (No_of_Bed / 2); i++){%>

        <tr>

        <% for (int j = 0; j < 2; j++) { %>
                <td>
                    Position <%=count %> :
                </td>
                <td>
                    <asp:ImageButton ID="bed" runat="server" ImageUrl="~/img.png" />
                </td>
            
        <% count++; }%>

           </tr>
         <%   } %>
            
        <tr>
</table>

【问题讨论】:

  • 您可以使用commandargument或commandname将值传递给后端。
  • CommandName="",我是这样弄的,但它无法获取变量的值
  • 你如何获得变量的值?我在您的按钮中没有看到 onclick 事件。
  • 对不起,我刚刚添加了它。我在后端做了这个:- ImageButton btn = (ImageButton)(sender);点击的字符串 = btn.CommandArgument; testing.Text = 点击;

标签: c# asp.net imagebutton


【解决方案1】:

好的,下面是一个如何做的例子。

<table style="width: auto">
     

        <% int count = 1;

            for (int i = 0; i < (No_of_Bed / 2); i++){%>

        <tr>

        <% for (int j = 0; j < 2; j++) { %>
                <td>
                    Position <%=count %> :
                </td>
                <td>
                    <asp:ImageButton ID="bed" runat="server" OnClick="bed_Click" CommandName='Parse here the value you want' ImageUrl="~/img.png" />
                </td>
            
        <% count++; }%>

           </tr>
         <%   } %>
            
        <tr>
</table>

你可以顺便使用CommandName和CommandArgument,其实没关系。 后端:

 protected void bed_Click(object sender, ImageClickEventArgs e)
        {
            ImageButton btn = sender as ImageButton;

            string commandname = btn.CommandName;
        }

【讨论】:

  • 是否可以在 CommandName/CommandArgument 中动态传递值?例如,我想将“Count”变量设置为 CommandArgument。我使它像这样 CommandName="",但它不起作用。
【解决方案2】:

为此,您需要为每个图像按钮使用不同的 ID, 不确定它是否对您的需求有用,但您可以尝试使用它

更改 ID="bed_0" -> 对于图片一, ID="bed_1" 以此类推

为此,您可以使用 int j

【讨论】:

  • 感谢您的回答,但我无法将 int j 传递给 id
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多