Шаблон Повторителя ASP.NET, Условный Код для каждого Энного элемента

Другим случаем, когда вы можете видеть ту же ошибку, является Spark REPL конечной точки AWS Glue dev, когда вы пытаетесь преобразовать динамический кадр в фрейм данных.

На самом деле существует несколько разных исключений, таких как: :

  • pyspark.sql.utils.IllegalArgumentException: u"Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState':"
  • ERROR XSDB6: Another instance of Derby may have already booted the database /home/glue/metastore_db.
  • java.sql.SQLException: Failed to start database 'metastore_db' with class loader org.apache.spark.sql.hive.client.IsolatedClientLoader

Решение сложно

Загруженный REPL содержит экземпляр SparkSession в переменной spark, и вам просто нужно остановить его перед созданием нового SparkContext:

>>> spark.stop()
>>> from pyspark.context import SparkContext
>>> from awsglue.context import GlueContext
>>>
>>> glue_context = GlueContext(SparkContext.getOrCreate())
>>> glue_frame = glue_context.create_dynamic_frame.from_catalog(database=DB_NAME, table_name=T_NAME)
>>> df = glue_frame.toDF()
13
задан ckarbass 30 April 2009 в 16:59
поделиться

4 ответа

Это должно работать на Вас без потребности в чем-либо в коде позади (кроме привязки повторителя..):

<asp:Repeater ID="repImages" runat="server">
<HeaderTemplate><div></HeaderTemplate>

<ItemTemplate>
<%# (Container.ItemIndex != 0 && Container.ItemIndex % 5 == 0) ? @"</div><div>" : string.Empty %>
<asp:Image ID="imgGallery" runat="server" ImageUrl='<%# /* your code  here */ %>' />
</ItemTemplate>

<FooterTemplate></div></FooterTemplate>
</asp:Repeater>
23
ответ дан 1 December 2019 в 19:08
поделиться

Если Вы хотите сохранить свою разметку на странице ASPX, Вы могли бы также попробовать эту вариацию на метод David:

На aspx странице:

<ItemTemplate>
<asp:Literal runat="server" ID="divStart" Text="<div>" />
<asp:Image ....>
<asp:Literal runat="server" ID="divEnd" Text="</div>" />
</ItemTemplate>

В событии ItemDataBound в codebehind:

e.Item.FindControl("divStart").Visible
    = e.Item.FindControl("divEnd").Visible 
    = e.Item.ItemIndex % 5 == 0;
3
ответ дан 1 December 2019 в 19:08
поделиться

Добавьте два пустых элемента управления "метка" в свои Повторители ItemTemplate, где Вы хотели бы, чтобы Ваши теги Div были.

Затем добавляют событие ItemDataBound к Повторителю.

Затем добавляют этот код в событие ItemDataBound:

    Protected Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs)
    If (e.Item.ItemType = ListItemType.Item) Or (e.Item.ItemType = ListItemType.AlternatingItem) Then
        If e.Item.ItemIndex Mod 5 = 0 Then
            Dim lblDivStart As Label = CType(e.Item.FindControl("lblDivStart"), Label)
            Dim lblDivEnd As Label = CType(e.Item.FindControl("lblDivEnd"), Label)
            lblDivStart.text = "<div>"
            lblDivEnd.text = "</div>"
        End If
    End If
End Sub

Примечание - Этому будет нужна некоторая тонкая настройка для обработки первого отделения, и Вы, возможно, должны сделать что-то как Если (e. Объект. ItemIndex + 1) Модификация 5 = 0 , чтобы заставить отделения обнаруживаться точно, где Вы хотите их.

Для большего количества информации:
DataListItem. Свойство
ItemIndex DataList. Событие

ItemDataBound
2
ответ дан 1 December 2019 в 19:08
поделиться

Здесь Именно здесь Asp.Net WebForms может дать вам невероятную эффективность RAD. Вы можете использовать новый элемент управления ListView и установить количество элементов для каждой «группы», что позволит вам настроить HTML-код, окружающий группу, а также каждый отдельный элемент. Таким образом, вы можете окружить группу условными тегами.

<asp:ListView ID="ListView1" runat="server" DataKeyNames="id" DataSourceID="LinqDataSource1" GroupItemCount="3">
<LayoutTemplate>
    <div id="layout">
        <asp:PlaceHolder ID="groupPlaceholder" runat="server"></asp:PlaceHolder>
    </div>
</LayoutTemplate>
<GroupTemplate>
    <div class="group">
        <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
    </div>
</GroupTemplate>
<EmptyDataTemplate>
    <span>No data was returned.</span>
</EmptyDataTemplate>
<ItemTemplate>
    <div class="item">
        <img alt='<%# Eval("title") %>' title='<%# Eval("title") %>'
            src='<%# Eval("filename","photos/{0}") %>' />
    </div>
</ItemTemplate>
</asp:ListView>
10
ответ дан 1 December 2019 в 19:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: