В ходе некоторых исследований я узнал, как отображать полные изображения, нажимая на миниатюру, которые хранятся в отдельных папках. Код работает отлично, если вы только указываете на одну папку, но у меня есть несколько папок изображений, которые мне нужно открыть, потому что хранится большое количество изображений. Для этого я создал 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>