2014-02-11 2 views
6

Страница: http://advancedmedia.co.il/data.aspxОбновление панели asp.net - обновить страницу URL

Код:

<asp:Content ID="Content2" ContentPlaceHolderID="page_content_cp" Runat="Server"> 
<asp:UpdatePanel runat="server" ID="UP1" UpdateMode="Conditional"> 
<ContentTemplate> 
<section id="page_section"> 
<div class="data_top"> 
<ul class="bxslider"> 
    <asp:ListView ID="LV_slider" runat="server" DataSourceID="**"> 
    <ItemTemplate> 
    <li> 
    <asp:Image ID="Image11" ImageUrl='<%#XPath("big_image_url") %>' AlternateText="slider" runat="server" /> 
    </li> 
    </ItemTemplate> 
    </asp:ListView> 

</ul> 
</div> 
<div class="shaddow"></div> 
<div class="data_bottom"> 
<asp:ListView runat="server" ID="LV_data_bottom" DataSourceID="**"> 

<ItemTemplate> 
<div style="display:inline;"> 
<asp:LinkButton runat="server" CommandArgument='<%#XPath("big_image_url") %>' ID="LB_thumb" OnClick="lb_thumb1" ><asp:Image runat="server" ID="IMG_img1" ImageUrl='<%#XPath("small_image_url") %>' /> 
<asp:Label runat="server" CssClass="title" ID="bottom_label" Text='<%#XPath("title") %>'></asp:Label></asp:LinkButton> 
</div> 


</ItemTemplate> 
</asp:ListView> 
</div> 


</section> 
</ContentTemplate> 
</asp:UpdatePanel> 

     <asp:XmlDataSource ID="**" runat="server" 
      DataFile="~/***/***" XPath="/Data/**/**"> 
     </asp:XmlDataSource> 
</asp:Content> 

Нажмите на превью "прыжок" на стр.

Я не хочу, чтобы страница «прыгала»/«обновлялась» после нажатия на большой палец. Как я могу это сделать? Может быть, я ошибаюсь на месте панели обновления?

+0

В чем проблема? – Christos

+0

и ... что твой ** Вопрос **? – Sachin

+0

вопрос отредактирован – Oshrib

ответ

6

Вы всегда можете сделать это с помощью updatepanel и microsoft ajax ... но есть более легкая альтернатива. Используйте jquery для замены основного изображения сверху при нажатии на эскизы без обновления страницы.

Определить окружающий DIV для изображения imain с идентификатором "Imagebox"

<a href="#" id="changeImage" rel="1"><img class="thumb" src="image1_thumb.jpg" /></a> 
<div id="imageBox">&nbsp;</div> 

тогда

$(document).ready(function(){ 
    $('#changeImage').click(function(){ 
     var rel = $(this).attr('rel'); 
     $("#imageBox").html("<img src='image" + rel + ".jpg' />"); 
    }) 
}); 

Это как чистое и легкое. нет нежелательной панели Microsoft ajax.

+0

awesome !! работать как шарм – Oshrib

+0

или нет :( http://advancedmedia.co.il/data.aspx Возможно, он не работает с linkbutton? – Oshrib

+0

@Bside, он должен работать с любой кнопкой, вам нужно будет удалить asp.net button с чистым html img и тегом Aby

2

Я не уверен, в чем проблема, но если вы хотите разделить панель обновления на две части, вы можете это сделать.

Существует объяснение того, как различные панели обновления могут запускать себя. http://www.asp.net/web-forms/tutorials/aspnet-ajax/understanding-asp-net-ajax-updatepanel-triggers

+0

Я пытался оставить ссылку в комментарии, но мне нужна была репутация 50. Поэтому я подумал, что это нормально, просто оставьте ссылку здесь. Извините, но я не знал, что это не было разрешено. – boonboon

0

Установить ClientIDMode = Auto на LinkButton.

1

Используется AutoPostBack="false" в списке следует страница не может быть обновления ..or используется Javascript для изменения изображения

1

Помещенный ScriptManager.

<asp:ScriptManager EnablePartialRendering="true" 
ID="ScriptManager1" runat="server"></asp:ScriptManager> 
<asp:Content ID="Content2" ContentPlaceHolderID="page_content_cp" Runat="Server"> 
<asp:UpdatePanel runat="server" ID="UP1" UpdateMode="Conditional"> 
    <!-- bla bla bla.. --> 
1

Пытались ли вы изменить следующие

UpdateMode="Conditional" 

с этим?

UpdateMode="Always" 
0

Все кажется правильным. Вот пример панели «Обновление».

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication3.WebForm1" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 

<body> 
    <form id="form1" runat="server"> 
     <div> 
     <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 

     <asp:UpdatePanel ID="Updatepanel1" runat="server" UpdateMode="Conditional"> 
      <ContentTemplate> 
       <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> 
       <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
       <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton> 
      </ContentTemplate> 
     </asp:UpdatePanel> 
    </div> 
</form> 

Код За

namespace WebApplication3 
{ 
    public partial class WebForm1 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 

     protected void Button1_Click(object sender, EventArgs e) 
     { 
      this.Label1.Text = "change Test 1"; 
     } 

     protected void LinkButton1_Click(object sender, EventArgs e) 
     { 
      this.Label1.Text = "change Test 2"; 
     } 
    } 
} 
Смежные вопросы