如何解决如何使用c#asp.net循环在转发器控件内部的div部分?
我正在使用具有多个<div>
的转发器控件,我获得了除注释之外的所有值。
div仅获取单个记录。尽管有中继器,但这些值没有循环。有什么解决办法可以重复我的评论部分吗?
请帮忙吗?
我的标记:
<asp:Repeater ID="rpt_post" runat="server" OnItemDataBound="rpt_post_ItemDataBound" >
<ItemTemplate>
<div class="user-thumb">
<img src='<%# Eval("Profile_Pic") %>' class="img-responsive" />
</div>
<div class="user-information">
<p><%# Eval("Name") %> </p>
<small><%# Eval("Timestamp") %> </small>
<asp:Label ID="lblpost_id" runat="server" Visible="false" Text='<%# Eval("Post_Id") %>' >
</asp:Label>
</div>
<div class="comment col-md-12">//this section is not repeating
<h4>taruni </h4>
<asp:Label runat="server" ID="lblcomment" Text='<%# Eval("Comment") %>'></asp:Label>
</ItemTemplate>
</asp:Repeater>
隐藏代码:
protected void rpt_post_ItemDataBound(object sender,RepeaterItemEventArgs e)
{
try
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
sqlConnection con = new sqlConnection(constr);
sqlCommand cmd = new sqlCommand();
cmd.CommandText = "SELECT pc.Comment,pc.Post_Id FROM Post_Comment pc INNER JOIN Posts kp ON kp.Post_Id = pc.Post_Id WHERE pc.Post_Id = @postid";
cmd.Parameters.AddWithValue("@postid",postid);
cmd.Connection = con;
sqlDataAdapter da = new sqlDataAdapter();
con.open();
da.SelectCommand = cmd;
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
Label lblcom = (Label)e.Item.FindControl("lblcomment");
lblcom.Text = dt.Rows[0]["Comment"].ToString();
}
}
}
}
解决方法
您没有使用中继器
这是您的代码
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1()
};
ServiceBase.Run(ServicesToRun);
}
您正在将该标签的文本设置为第一个注释。这就是为什么您只看到一条评论的原因。
您可能想要这样的东西:
if (dt.Rows.Count > 0)
{
Label lblcom = (Label)e.Item.FindControl("lblcomment");
lblcom.Text = dt.Rows[0]["Comment"].ToString();
}
也 这个
rpt_post.DataSource = dt;
rpt_post.DataBind();
与此相同
select pc.Comment,pc.Post_Id
from Post_Comment pc
INNER JOIN Posts kp on kp.Post_Id=pc.Post_Id
where pc.Post_Id=@postid;
,
将数据行放入DataRowView中,然后获取/设置您的注释
--prefix
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。