asp.net 在repeater控件中加按钮的问题 15
我在一个页面里面使用repeater,我现在想在repeater中加入一个按钮,并且要带有参数。页面代码如下:<asp:RepeaterID="Repeater2"run...
我在一个页面里面使用repeater,我现在想在repeater中加入一个按钮,并且要带有参数。
页面代码如下:
<asp:Repeater ID="Repeater2" runat="server">
<HeaderTemplate>
其他回答:
</HeaderTemplate>
<ItemTemplate>
<table>
<tr>
<td>
<%#Eval("Detail")%>
</td>
</tr>
<tr>
<td align="right">
回答者:<%# Eval("NickName") %>  <%#Eval("CreateTime") %>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnSetBestAnswer" runat="server" OnCommand ="btnSetBestAnswer_OnClick" CommandArgument='<%#Eval("AnswerId") %>' Text="设为最佳答案" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
后台代码如下:
protected void btnSetBestAnswer_OnClick(object sender, CommandEventArgs e)
{
Response.Write(e.CommandArgument.ToString());
}
我按了按钮以后,这个事件也不被触发。点了一点点反应都没有。不知道为什么?
还是点击那个按钮没反应,也不报错。真让人崩溃 展开
页面代码如下:
<asp:Repeater ID="Repeater2" runat="server">
<HeaderTemplate>
其他回答:
</HeaderTemplate>
<ItemTemplate>
<table>
<tr>
<td>
<%#Eval("Detail")%>
</td>
</tr>
<tr>
<td align="right">
回答者:<%# Eval("NickName") %>  <%#Eval("CreateTime") %>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnSetBestAnswer" runat="server" OnCommand ="btnSetBestAnswer_OnClick" CommandArgument='<%#Eval("AnswerId") %>' Text="设为最佳答案" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
后台代码如下:
protected void btnSetBestAnswer_OnClick(object sender, CommandEventArgs e)
{
Response.Write(e.CommandArgument.ToString());
}
我按了按钮以后,这个事件也不被触发。点了一点点反应都没有。不知道为什么?
还是点击那个按钮没反应,也不报错。真让人崩溃 展开
3个回答
展开全部
这么写,Repeater加这个事件:
<asp:Repeater ID="Repeater2" runat="server" OnItemCommand="Repeater2_OnItemCommand">
按钮:
<asp:Button ID="btnSetBestAnswer" runat="server" CommandArgument='<%#Eval("AnswerId") %>' CommandName=“TYPE” Text="设为最佳答案" />
后台代码:
protected void Repeater2_ItemCommand(object source, RepeaterCommandEventArgs e)
{
//判断触发事件的类型,否则当你单击Repeater控件的任意地方,都会运行该事件
if(e.CommandName.Equals("TYPE"))
{
Response.Write(e.CommandArgument.ToString());
}
}
还不行???
前台页面:
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
<ItemTemplate>
<table style="width: 600px;">
<tr>
<td>
<%#Eval("CategoryId")%>
</td>
</tr>
<tr>
<td>
<%#Eval("Title")%>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnSetBestAnswer" runat="server" CommandArgument='<%#Eval("CategoryId") %>'
Text="设为最佳答案" CommandName="Forward" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
后台代码:
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName.Equals("Forward"))
{
string str = e.CommandArgument.ToString();
}
}
把这段代码粘过去,把绑定字段改了。测试过的,没问题。
<asp:Repeater ID="Repeater2" runat="server" OnItemCommand="Repeater2_OnItemCommand">
按钮:
<asp:Button ID="btnSetBestAnswer" runat="server" CommandArgument='<%#Eval("AnswerId") %>' CommandName=“TYPE” Text="设为最佳答案" />
后台代码:
protected void Repeater2_ItemCommand(object source, RepeaterCommandEventArgs e)
{
//判断触发事件的类型,否则当你单击Repeater控件的任意地方,都会运行该事件
if(e.CommandName.Equals("TYPE"))
{
Response.Write(e.CommandArgument.ToString());
}
}
还不行???
前台页面:
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
<ItemTemplate>
<table style="width: 600px;">
<tr>
<td>
<%#Eval("CategoryId")%>
</td>
</tr>
<tr>
<td>
<%#Eval("Title")%>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnSetBestAnswer" runat="server" CommandArgument='<%#Eval("CategoryId") %>'
Text="设为最佳答案" CommandName="Forward" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
后台代码:
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName.Equals("Forward"))
{
string str = e.CommandArgument.ToString();
}
}
把这段代码粘过去,把绑定字段改了。测试过的,没问题。
展开全部
不是BTN_ONCLICK了,事件写repeater_onitem...(忘了,反正这个算repeater的item事件)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错了,不是按钮点击事件,是reaperter的itemCommand事件,在那里面写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询