Запуск случайных картинок на сайте ASP.NET - PullRequest
0 голосов
/ 03 августа 2011

Я создаю веб-приложение и у меня есть вопрос.

Я хочу показать пользователю, запустившему Случайные картинки на веб-странице.

как я могу это сделать, если это возможно.

спасибо.

Ответы [ 4 ]

1 голос
/ 03 августа 2011

Если вы хотите использовать встроенный элемент управления, вы должны посмотреть на AdRotator . Это позволит вам настроить файл XML, в котором перечислены все ваши изображения, которые будут отображаться случайным образом при визуализации элемента управления на странице.

Управление использованием:

   <asp:AdRotator id="AdRotator1" runat="server" Target="_self"
        AdvertisementFile="~/App_Data/Ads.xml"/>

Пример XML-файла (Ads.xml):

  <Ad>
    <ImageUrl>~/Images/image1.jpg</ImageUrl>
    <height>60</height>
    <width>190</width>
    <NavigateUrl>http://www.microsoft.com</NavigateUrl>
    <AlternateText>Microsoft Main Site</AlternateText>
    <Impressions>80</Impressions>
    <Keyword>Topic1</Keyword>
  </Ad>
  <Ad>
    <ImageUrl>~/Images/image2.jpg</ImageUrl>
    <height>90</height>
    <width>90</width>
    <NavigateUrl>http://www.wingtiptoys.com</NavigateUrl>
    <AlternateText>Wingtip Toys</AlternateText>
    <Impressions>80</Impressions>
    <Keyword>Topic2</Keyword>
  </Ad>
</Advertisements>

Если вы ищете что-то, что может изменить изображения на стороне клиента (с помощью JavaScript), существует множество доступных решений. Вот пример использования плагина jQuery.Cycle .

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="jQueryRotateImages.aspx.cs" Inherits="DevOne.jQueryRotateImages" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>jQuery Rotate Images - Cycle Plugin</title>
    <style type="text/css">
        .slideshow { height: 232px; width: 232px; margin: auto; }
        .slideshow img { padding: 15px; border: 1px solid #ccc; background-color: #eee; }
    </style>
    <!-- include jQuery library -->
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
    <!-- include Cycle plugin -->
    <script type="text/javascript" src="http://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.latest.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('.slideshow').cycle({
                fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
            });
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div id="slideshow" class="slideshow" runat="server">
    </div>
    </form>
</body>
</html>

А вот как вы можете динамически добавлять изображения в ваш код.

using System;
using System.Web.UI.HtmlControls;

namespace DevOne
{
    public partial class jQueryRotateImages : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            slideshow.Controls.Add(new HtmlImage() { Src = "http://cloud.github.com/downloads/malsup/cycle/beach1.jpg", Width = 200, Height  = 200});
            slideshow.Controls.Add(new HtmlImage() { Src = "http://cloud.github.com/downloads/malsup/cycle/beach2.jpg", Width = 200, Height = 200 });
            slideshow.Controls.Add(new HtmlImage() { Src = "http://cloud.github.com/downloads/malsup/cycle/beach3.jpg", Width = 200, Height = 200 });
        }
    }
}
0 голосов
/ 16 августа 2013

Следующий блог msdn объясняет все основы о Random () MSDN Microsoft Developer Network: Random ()
Основное в этом заключается в том, что класс Random выбирает случайное число из массива,Это зависит от времени тиков. MSDN DateTime Ticks
Тики используются в основном для генерации случайного числа.Случайный может использоваться как: Предположим, я извлекаю данные из базы данных.Это будет
var db = Database.Open("databasename")<br> var image = db.Query("SELECT * FROM Images").ToList();<br> var randomImage = image[new Random().Next(image.Count)]
и отобразить данные о нем.

0 голосов
/ 03 августа 2011

Если вы просто хотите извлечь случайное изображение из папки на веб-сайте, вы можете сделать что-то вроде следующего:

string[] files = Directory.GetFiles(Server.MapPath(@"/images/"));
Random r = new Random();
string imageName = files[r.Next(files.Length);
// ... Code to display image.

Однако вы действительно предоставили скудную информацию о том, чего пытаетесь достичь, например, откуда поступают изображения. Это было бы очень общее решение.

0 голосов
/ 03 августа 2011

псевдокод:

//On Page Load do this:
  //create list of images from whatever your image source is
  //generate a random number between 0 and `ImageList.Length - 1`
  //assign the url from the image at the random index to the ImageUrl property of your Image control
...