我试图在数组中添加两个按钮,这些按钮将运行函数来接受或拒绝数组中的某种请求,如下所示:
我的第一次试用是如下代码:
<td class="actions">
<form method="post" action="approve.aspx" runat="server">
<asp:Button ID="buttonyes" class="buttonyes" CommandArgument='<%: request.ID %>' CommandName="AcceptRequest" OnCommand="ButtonPressed" runat="server"/>
</form>
<form method="post" action="refuse.aspx" runat="server">
<asp:Button ID="buttonno" class="buttonno" CommandArgument='<%= request.ID %>' CommandName="RefuseRequest" OnCommand="ButtonPressed" runat="server"/>
</form>
</td>
但是当我试图打开页面时,这个错误就出现了:
一个页面只能有一个服务器端表单标记。
所以我尝试删除一个表单,并将两个按钮放入其中,如下所示:
<td class="actions">
<form method="post" action="approve.aspx" runat="server">
<asp:Button ID="buttonyes" class="buttonyes" CommandArgument='<%: request.ID %>' CommandName="AcceptRequest" OnCommand="ButtonPressed" runat="server"/>
<asp:Button ID="buttonno" class="buttonno" CommandArgument='<%= request.ID %>' CommandName="RefuseRequest" OnCommand="ButtonPressed" runat="server"/>
</form>
</td>
但是我得到完全相同的错误,这是一种逻辑,因为我的数组中可能有很多条目,并且每个条目都应该有这两个按钮,所以我改变了我的代码:
<td class="actions">
<asp:Button ID="buttonyes" class="buttonyes" CommandArgument='<%: request.ID %>' CommandName="AcceptRequest" OnCommand="ButtonPressed" runat="server"/>
<asp:Button ID="buttonno" class="buttonno" CommandArgument='<%= request.ID %>' CommandName="RefuseRequest" OnCommand="ButtonPressed" runat="server"/>
</td>
但是,我得到了
控制&#39; buttonyes&#39;类型&#39;按钮&#39;必须放在带有runat = server。
的表单标记内
我无法弄清楚如何解决我的问题,因为我是 ASP.NET 的新手并且以各种方式进行搜索,我想知道是否有人我知道如何解决这个问题。
答案 0 :(得分:1)
在页面中将表单移到更高的位置。如果它在具有多行的表中,那么您将最终得到每行的表单。将整个表格包裹在表格中,如下所示:
<form method="post" action="approve.aspx" runat="server">
...
<tr>
...
<td class="actions">
<asp:Button ID="buttonyes" class="buttonyes" CommandArgument='<%: request.ID %>' CommandName="AcceptRequest" OnCommand="ButtonPressed" runat="server"/>
<asp:Button ID="buttonno" class="buttonno" CommandArgument='<%= request.ID %>' CommandName="RefuseRequest" OnCommand="ButtonPressed" runat="server"/>
</td>
<tr>
</form>