2016-03-14 2 views
0

В ходе некоторых исследований я узнал, как отображать полные изображения, нажимая на миниатюру, которые хранятся в отдельных папках. Код работает отлично, если вы только указываете на одну папку, но у меня есть несколько папок изображений, которые мне нужно открыть, потому что хранится большое количество изображений. Для этого я создал ASP: TreeView. Раньше, когда я закодированы это по-другому, я был в состоянии просто наберите введите:Загрузка изображений и изображений Thumbs onClick с использованием привязки данных

string textVal = TreeView2.SelectedValue;    
(Server.MapPath("~/images/Thumbs/" + textVal)); 

теперь, кажется, не работает для меня. Я думаю, что для JQuery я могу просто использовать .replace, но для C# я пробовал несколько вещей, но ни один из них, похоже, не работает. (пс, если вы собираетесь критиковать, пожалуйста, сэкономить время и просто не большинство из нас приходят сюда за помощью и узнать, не будет подавлено и обескуражен, спасибо:.])

protected void Page_Load(object sender, EventArgs e) 
{ 
     string textVal = TreeView2.SelectedValue; 
     Repeater1.Visible = true; 

     List<MyImages> myImages = new List<MyImages>(); 
     DirectoryInfo DI = new DirectoryInfo(Server.MapPath("~/images/Thumbs/Fall/2006/")); 
     foreach (var file in DI.GetFiles()) 
     { 
      myImages.Add(new MyImages { FileName = file.Name }); 
     } 
     Repeater1.DataSource = myImages; 
     Repeater1.DataBind(); 

} 

public class MyImages 
{ 
    public string FileName { get; set; } 
} 

<script src="../bower_components/jquery/dist/jquery.min.js"></script> 
<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { 
     $('#ImageGallery img').click(function() { 
      var fullImg = '/images/Fall/2006/' + $(this).attr('alt'); 
      $('#fullImg').attr('src', fullImg); 
     }); 
    }); 

    <asp:Repeater ID="Repeater1" runat="server"> 
     <ItemTemplate> 
      <img src='/images/Thumbs/Fall/2006/<%#Eval("FileName") %>' alt='<%#Eval("FileName") %>' width="100px" style="cursor: pointer"/
     </ItemTemplate> 
    </asp:Repeater> 

ответ

0

I не думаю, что многие люди просмотрят эту тему, но я покажу, как я понял это после того, как побеседовал с ней в течение некоторого времени.

protected void Page_Load(object sender, EventArgs e) 
{ 
     string textVal = TreeView2.SelectedValue; 

     Repeater1.Visible = true; 

     List<MyImages> myImages = new List<MyImages>(); 
     DirectoryInfo DI = new DirectoryInfo(Server.MapPath("~/images/Thumbs/" + textVal));   

     foreach (var file in DI.GetFiles()) 
     { 
      myImages.Add(new MyImages { FileName = textVal + "/" + file.Name }); 
     } 

     Repeater1.DataSource = myImages; 
     Repeater1.DataBind();   
} 

<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { 
     $('#ImageGallery img').click(function() { 
      var fullImage= $(this).attr('alt'); 
      //var fullImage= $(this).attr('alt'); 
      $('#fullImage').attr('src', fullImage); 
     }); 
    }); 

           <asp:Repeater ID="Repeater1" runat="server"> 
            <ItemTemplate>           
             <img src='images/thumbs/<%#Eval("FileName") %>' alt='images/<%#Eval("FileName") %>'/> 
            </ItemTemplate> 
           </asp:Repeater>