我創建在GridView伯爵喜歡的圖像
每個imagename保存在dbwith和uinque ID和列名的圖片庫(存儲在圖片文件夾中的圖像,保存在數據庫路徑):storyid。
誰能告訴我如何綁定的indiviudal圖像 「喜歡」 在lblcount算
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server" ID="SM1">
</asp:ScriptManager>
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Font-Names="Arial"
OnRowCommand="GridView1_RowCommand1">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:UpdatePanel runat="server" ID="up1" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button runat="server" ID="IncreaseButton" Text="Like" CommandName="Increase"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" />
<asp:Label runat="server" ID="lblCount"></asp:Label>
<div style="display: none;">
<asp:Label Text="<%#Bind('StoryId')%>" ID="lblStoryid" runat="server"></asp:Label>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ItemTemplate>
</asp:TemplateField>
<asp:ImageField DataImageUrlField="FilePath" ControlStyle-Width="100" ControlStyle-Height="100"
HeaderText="Preview Image">
<ControlStyle Height="100px" Width="100px"></ControlStyle>
</asp:ImageField>
<asp:TemplateField>
<HeaderTemplate>
<asp:Label Text="Description" runat="server" Visible="False"></asp:Label>
</HeaderTemplate>
<ItemTemplate>
<asp:Label Text="<%#Bind('Description')%>" ID="lblImageid" runat="server"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>
public partial class Gallery : System.Web.UI.Page
{
private void bindimage()
{
DataTable dt = new DataTable();
String strConnString = System.Configuration.ConfigurationManager.
ConnectionStrings["dbconnection"].ConnectionString;
string strQuery = "select * from story";
SqlCommand cmd = new SqlCommand(strQuery);
SqlConnection con = new SqlConnection(strConnString);
SqlDataAdapter sda = new SqlDataAdapter();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
try
{
con.Open();
sda.SelectCommand = cmd;
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
con.Close();
sda.Dispose();
con.Dispose();
}
}
protected void GridView1_RowCommand1(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Increase")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[index];
Label listPriceTextBox = (Label)row.FindControl("lblStoryid");
int storyId = Convert.ToInt32(listPriceTextBox.Text);
string UserEmailid = "[email protected]";
String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
string strQuery = "INSERT INTO Likes(storyId,UserEmailid) VALUES(@storyId,@UserEmailid)";
string LikeCount = "SELECT COUNT(StoryId) FROM Likes Where StoryId=1001;;";
Label lblStoryid = (Label)row.FindControl("lblStoryid");
lblStoryid.Text = LikeCount;
SqlCommand cmd = new SqlCommand(strQuery);
SqlCommand cmdl = new SqlCommand(LikeCount);
cmdl.CommandType = CommandType.Text;
cmdl.Connection = con;
cmd.Parameters.AddWithValue("@storyId", storyId);
cmd.Parameters.AddWithValue("@UserEmailid", UserEmailid);
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
try
{
con.Open();
cmd.ExecuteNonQuery();
cmdl.ExecuteNonQuery();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
con.Close();
con.Dispose();
}
}
}
}
'SELECT COUNT(StoryId)FROM Likes Where StoryId = 1001;' - 所以根據此查詢,行數表示喜歡的數量? – James
如果您正在使用'<% %>'爲'lable'或某個顯示控件賦值,那麼它應該在''''內。我看到你在''「''('Text =」<%#Bind('StoryId')%>「')中使用它。將其更改爲'Text ='<%#Bind('StoryId')%>'',那麼它就會起作用。 – Bharadwaj