будьте осторожны - я относительно новичок в C#! Есть несколько потоков на этом уже, но все они, как правило, имеют сложный код, который я не могу разглядеть с неопределенными объяснениями.Включить кнопку в справочнике
У меня есть datalist, питаемый базой данных SQL, которая будет действовать как раздел комментариев. Я хочу, чтобы включить кнопку для редактирования комментариев, если пользователь либо создал свой комментарий или администратор, но не могу показаться, чтобы выяснить, как:
A) Задача управления кнопки в пределах DataList и
B) Включите его только для комментариев был пользователь должен иметь право сделать это
<asp:DataList ID="DataList2" runat="server">
<ItemTemplate>
<br />
Comment:
<asp:Label Text='<%# Eval("comment") %>' runat="server" ID="commentLabel" /><br />
Posted on:
<asp:Label Text='<%# Eval("postedDate") %>' runat="server" ID="postedDateLabel" /><br />
Posted by:
<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl='<%# "user.aspx?user=" + Eval ("userName") %>'><%# Eval("userName") %></asp:HyperLink><br />
<!-- Comment edit begins ------------------------------------------------------------------------>
<asp:Button ID="commentEditButton" runat="server" Text="Edit" visible="false"/>
<!-- Comment edit ends -------------------------------------------------------------------------->
</ItemTemplate>
</asp:DataList>
C#:
conn1.Open();
String qry1 = "SELECT comments.comment, comments.postedDate, users.userName FROM comments INNER JOIN users ON comments.userId=users.Id WHERE [email protected] ORDER BY comments.postedDate DESC";
SqlCommand cmd1 = new SqlCommand(qry1, conn1);
SqlDataAdapter da1 = new SqlDataAdapter(cmd1);
cmd1.Parameters.AddWithValue("@Id", Request.QueryString["imgid"]);
DataSet ds1 = new DataSet();
//Derp?
foreach(DataRow row in ds1.Tables)
{
Int32 userIdData = Int32.Parse(row["comments.userId"].ToString());
if (userIdData.Equals(Int32.Parse(Session["userId"].ToString()))) {
//DataList2. commentEditButton.Visible = true;
}
}
da1.Fill(ds1);
DataList2.DataSource = ds1;
DataList2.DataBind();
conn1.Close();
спасибо заранее!
дайте командный аргумент вашей кнопке, а на ItemDatabound сделайте свой материал –
Я ценю вход, но это ничего не значит для меня. У вас есть пример кода? – minus8