My Update panel is calling the function and during the debug proccess i saw it the content being update to the respective control. However, nothing is changing. If I were to switch to postback it works.
c# code
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack) init();
}
public static int curr;
public static int Max;
private void init()
{
curr = 0;
Max= 10;
LoadSlider(true);
}
private void LoadSlider(bool next)
{
int num = 0;
while (num != 2)
{
if (curr == Max) curr = 1;
if (curr == 0) curr = Max - 1;
string query = "select product_id, name_p, image1_p from product " +
"inner join series on series_id = series_p " +
"inner join story on story_p = story_id " +
"where delete_display= 0 and delete_display_s = 0 and delete_display_p= 0 and display_p = 1 and display = 1 and display_s = 1 ";
query += " and product_id = " + curr.ToString();
JB.CommandResponse response = JB.Master.DataBase.ExecuteQuery(query);
if (0 < response.Get_returnCode()) return;
if ((response.Get_DataRecords().Rows).Count == 0)
{
if (next) ++curr; else --curr;
continue;
}
System.Data.DataRow row = response.Get_DataRecords().Rows[0];
if (num == 0)
{
Label1_title.Text = row["name_p"].ToString();
Image1.ImageUrl = row["image1_p"].ToString();
LinkButton1.PostBackUrl = "productdetails.aspx?id=" + row["product_id"].ToString();
}
if (num == 1)
{
Label2_title.Text = row["name_p"].ToString();
Image2.ImageUrl = row["image1_p"].ToString();
LinkButton2.PostBackUrl = "productdetails.aspx?id=" + row["product_id"].ToString();
}
if (next) ++curr; else --curr;
++num;
}
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
LoadSlider(false);
}
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
LoadSlider(true);
}
asp.net -------------------------------------------------------------------------------
<asp:ScriptManager ID="ScriptManager2" runat="server" EnablePartialRendering="true" ></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ImageButton1" EventName="click" />
<asp:AsyncPostBackTrigger ControlID="ImageButton2" EventName="click" />
</Triggers>
<ContentTemplate>
<script type="text/javascript">
Sys.Application.add_load(BindEvents);
</script>
<div id="article_3_1" class="left"><asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Sites/Images/Base/prev_main.png" OnClick="ImageButton1_Click" /></div>
<div id="article_3_2" class="left">
<div id="article_3_top"></div>
<div class="clear" style="height: 18px;"></div>
<!-- End of top -->
<div class="slider left" id="slider_1">
<div class="slider_image"><asp:Image ID="Image1" runat="server" CssClass="slider_image_w" /></div>
<div class="slider_border" id="border_1"></div>
<div class="slider_text">
<asp:Label ID="Label1_title" runat="server" CssClass="bold em12"></asp:Label>
<div class="clear"></div>
<asp:LinkButton ID="LinkButton1" runat="server" CssClass="em12 gray">More</asp:LinkButton>
</div>
</div>
<div class="slider_gap left"></div>
<div class="slider left" id="slider_2">
<div class="slider_image"><asp:Image ID="Image2" runat="server" CssClass="slider_image_w" /></div>
<div class="slider_border" id="border_2"></div>
<div class="slider_text">
<asp:Label ID="Label2_title" runat="server" CssClass="bold em12"></asp:Label>
<div class="clear"></div>
<asp:LinkButton ID="LinkButton2" runat="server" CssClass="em12 gray">More</asp:LinkButton>
</div>
</div>
<div class="slider_gap left"></div>
</div>
<div id="article_3_3" class="left"><asp:ImageButton ID="ImageButton2" runat="server" ImageUrl="~/Sites/Images/Base/next_main.png" OnClick="ImageButton2_Click" /></div>
</ContentTemplate>
</asp:UpdatePanel>
JB is my dll to called queries database. I would like to point out that. The function is firing and the control text is being replace. However, the control is not updating the content.
update panel will not update till ImageButton1 and ImageButton2 click event fire. as you are writing triggers for update panel . in page load init you want to update then you have to call
imagebutton1. to call buttonclick write code in pageload imagebutton1.PerformClick()
private void init()
{
curr = 0;
Max= 10;
ImageButton1_Click(null, new ImageClickEventArgs(0, 0));
}