Как назначить значения при загрузке мастер-страницы? - PullRequest
0 голосов
/ 08 февраля 2011

Я хочу создать слайд изображения для своего сайта, как этот сайт http://www.martynrussell.co.uk/default3.aspx?MenuID=1 ниже рекомендуемых свойств.

Содержание этого изображения является динамическим. Несколько раз весь контент изменится, или некоторое время изменятся свойства позиции.

Я могу сделать контент динамическим.

Изображения приходят с тела на загрузке вот так.

<body id="pageid1" onload="SetupFeaturedProperty(1,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-4.jpg']);SetupFeaturedProperty(2,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-4.jpg']);SetupFeaturedProperty(3,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-4.jpg']);SetupFeaturedProperty(4,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-4.jpg']);SetupFeaturedProperty(5,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/1039-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1039-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1039-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1039-4.jpg']);">

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

Вчера порядок изображений такой:

<body id="pageid1" onload="SetupFeaturedProperty(1,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-4.jpg']);SetupFeaturedProperty(2,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/665-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/665-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/665-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/665-4.jpg']);SetupFeaturedProperty(3,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-4.jpg']);SetupFeaturedProperty(4,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-4.jpg']);SetupFeaturedProperty(5,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-4.jpg']);">

И сегодня порядок изображений, как это

<body id="pageid1" onload="SetupFeaturedProperty(1,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-4.jpg']);SetupFeaturedProperty(2,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-4.jpg']);SetupFeaturedProperty(3,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-4.jpg']);SetupFeaturedProperty(4,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-4.jpg']);SetupFeaturedProperty(5,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/1039-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1039-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1039-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1039-4.jpg']);">

Пожалуйста, предложите мне, как я могу справиться с этим. Как я могу назначить значения во время выполнения, как это?

Спасибо.

1 Ответ

1 голос
/ 08 февраля 2011

У ваших ContetPages будут разные изображения, и вы хотите запустить функцию SetupFeaturedProperty из MasterPage?Если это так, попробуйте следующее:

MasterPage.master

 ...

    <head>

      <asp:ContentPlaceHolder runat="server" id="Headers">

      </asp:ContentPlaceHolder>
      <script language=javascript>
        function mp_onload()
        {
          if(window.body_onload != null)
          window.body_onload();
        }
      </script>
    </head>
    <body onload="mp_onload();">

    ...

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

Default.aspx

<asp:Content ID="Content2" ContentPlaceHolderID="Headers" Runat="Server">
  <script language="javascript">
    function body_onload()
    {
      SetupFeaturedProperty(1,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-4.jpg']);SetupFeaturedProperty(2,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-4.jpg']);SetupFeaturedProperty(3,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/38-4.jpg']);SetupFeaturedProperty(4,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/918-4.jpg']);SetupFeaturedProperty(5,['http://www.brightlogic-estateagents.co.uk/MRUS/upload/1039-1.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1039-2.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1039-3.jpg', 'http://www.brightlogic-estateagents.co.uk/MRUS/upload/1039-4.jpg']);
    }
  </script>
</asp:Content>

http://blog.thewightstuff.net/blog/2007/03/using-body-onload-with-aspnet-20.html

Редактировать : согласно вашему комментарию о том, какчтобы инициировать функцию в codebehind (не проверено):

Dim allImageUrls As New List(Of String)(New String() {"http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-1.jpg", "http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-2.jpg", "http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-3.jpg", "http://www.brightlogic-estateagents.co.uk/MRUS/upload/1076-4.jpg", "http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-1.jpg", "http://www.brightlogic-estateagents.co.uk/MRUS/upload/122-2.jpg"})
If allImageUrls.Count <> 0 Then
   Dim arrayBuilder As New System.Text.StringBuilder("[")
   For Each imageUrl As String In allImageUrls
       arrayBuilder.Append("'").Append(imageUrl).Append("',")
   Next
   arrayBuilder.Length -= 1 ' remove last comma '
   arrayBuilder.Append("]")

   Dim jsVarImgUrls As String = arrayBuilder.ToString
   Page.ClientScript.RegisterArrayDeclaration("allImageURLs", jsVarImgUrls)
End If

Затем вы можете легко получить доступ к этому массиву из функции onload, например:

OnLoad = "SetupFeaturedProperty(1, allImageURLs);"
...