【问题标题】:How to call a method when clicking an asp:RadioButton?单击 asp:RadioButton 时如何调用方法?
【发布时间】:2019-08-24 18:20:28
【问题描述】:

我有一个通过按下ImageButton 激活的表单,除此之外我试图在单击RadioButton 时触发该表单,但是当我将OnCheckedChanged 指向图像方法时输入变量不匹配。所以我创建了一个不带参数的替代方法,但在这种情况下,除非我按下 ImageButton,否则它不会触发,当我这样做时,如果你在按下任何单选按钮之前按下了任何单选按钮,它就会运行“无参数方法” ImageButton.

现在,我怎样才能让RadioButtonImageButton 一样在按下时会导致表单触发?

谢谢帮助

ASP.NET 页面:

`<form method="post" runat="server">
        <h1 style="font-family:inherit;margin-left:20%">enter input</h1>
       <div >
           
           <input name="searchbar" type="search" style="width:50%;margin-left:20%;padding:5px;border-radius:8px;" />
           <asp:ImageButton ImageUrl="~/magnifying-glass.png" OnClick="SearchPhone"  runat="server" style="width:30px;height:30px;"/>
           <table style="float:right;">
               <tr>
                   <td>
                        <asp:RadioButton GroupName="order by" ID="OrderBy1" runat="server" OnCheckedChanged="CheckedChanged" Checked/>
                   </td>
              </tr>
               <tr>
                   <td>
                       <asp:RadioButton GroupName="order by" ID="OrderBy2" runat="server" on OnCheckedChanged="CheckedChanged"/>
                    
                  </td>
              </tr>
               <tr>
                   <td>
                       <asp:RadioButton GroupName="order by" ID="OrderBy3" runat="server" OnCheckedChanged="CheckedChanged"/>order by year<br />
                   </td>
              </tr>
        </table>
       </div> 
    </form>`

【问题讨论】:

    标签: c# html asp.net forms radio-button


    【解决方案1】:

    使用AutoPostBack="true"

     <form method="post" runat="server">
            <h1 style="font-family:inherit;margin-left:20%">enter input</h1>
           <div >
    
               <input name="searchbar" type="search" style="width:50%;margin-left:20%;padding:5px;border-radius:8px;" />
               <asp:ImageButton ImageUrl="~/magnifying-glass.png" OnClick="SearchPhone"  runat="server" style="width:30px;height:30px;"/>
               <table style="float:right;">
                   <tr>
                       <td>
                            <asp:RadioButton GroupName="order by" ID="OrderBy1" runat="server" OnCheckedChanged="CheckedChanged" AutoPostBack="true" Checked/>
                       </td>
                  </tr>
                   <tr>
                       <td>
                           <asp:RadioButton GroupName="order by" ID="OrderBy2" runat="server"  OnCheckedChanged="CheckedChanged" AutoPostBack="true"/>
    
                      </td>
                  </tr>
                   <tr>
                       <td>
                           <asp:RadioButton GroupName="order by" ID="OrderBy3" runat="server" OnCheckedChanged="CheckedChanged" AutoPostBack="true"/>order by year<br />
                       </td>
                  </tr>
            </table>
           </div> 
        </form>
    

    【讨论】:

      【解决方案2】:

      aspnet 页面上,您需要使用“OnClick”执行类似的操作

      <asp:RadioButton GroupName="order by" ID="yourMethod" runat="server" OnCheckedChanged="CheckedChanged" OnClick="yourMethod_Click" Checked/>
      

      yourform.aspx.cs 上,您需要创建触发 OnClick 的方法

      protected void yourMethod_Click(object sender, EventArgs e)
      {
            //do here what you want.
      }
      

      使用相同的方法 ID 和 RadioButton,就像我在上面的代码中所做的那样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-11
        • 2012-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多