0

DotNetNukeを使用して、TutorialsAll.ascxというASCX呼び出しと、TutorialsByLevel.ascxという2番目の呼び出しを作成しています。TutorialsByLevel.ascxは、現在、TutorialsAll.ascxで4回使用されています。

TutorialTypeIDTutorialsByLevels.ascxには、 TutorialsAll.ascxから起動されるパブリックプロパティがあります。

私は以下のコードを追加しました。誰もがなぜそうしないのか、そしてどのようにそれを機能させることができるのか、非常に応用されています。

TutorialsAll.ascx:

<%@ Control Language="VB" AutoEventWireup="false" CodeFile="TutorialsAll.ascx.vb" Inherits="Portals_0_open_TutorialsAll" %>
<%@ Register TagPrefix="mark" TagName="tutorial" Src="TutorialsByLevel.ascx" %>
<div class="Tut_Column"><mark:tutorial ID="TutorialBasic1" TutorialType=1 runat="server" /></div>
<div class="Tut_Column"><mark:tutorial ID="TutorialBasic2" TutorialType=2 runat="server" /></div>
<div class="Tut_Column"><mark:tutorial ID="TutorialBasic3" TutorialType=3 runat="server" /></div>
<div class="Tut_Column"><mark:tutorial ID="TutorialBasic4" TutorialType=4 runat="server" /></div>

TutorialsByLevel.ascx:

Partial Class Portals_0_open_TutorialsByLevel
Inherits System.Web.UI.UserControl

Dim _Type As Integer

Public Property TutorialType(ByVal TypeID As Integer) As Integer
    Get
        Return _Type
    End Get
    Set(ByVal value As Integer)
        _Type = value
    End Set
End Property

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim conn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("SiteSqlServer").ToString)
    conn.Open()

    Dim sql As String = "SELECT * FROM Prez_Stories WHERE Tut_Show = 1 AND Tut_Level = " & _Type & "ORDER BY Tut_Order"
    Dim sqlCmd As SqlCommand = New SqlCommand(sql, conn)
    Dim myReader As SqlDataReader
    myReader = sqlCmd.ExecuteReader

    Dim s As StringBuilder = New StringBuilder("")

    s.Append("<div=""tutorialBlock"">TutorialType = " & _Type)
    Do While myReader.Read
        s.Append("<div id=""newTutorial"">" & myReader("Title"), "<br/>" & myReader("Summary") & "<div>")
    Loop
    s.Append("</div>")

    Literal1.Text = s.ToString
End Sub
End Class
4

1 に答える 1

1

マーク、

覚えようとしていますが、Page_Loadコードをprerenderイベントに移動する必要があるかもしれません。私が正しく覚えている場合(そして私がこれを行ったプロジェクトに取り組んでからしばらく経ちました)、プロパティはページサイクルの後半で入力され、事前レンダリングで処理する必要のあるページロードで機能しません。

私は間違っている可能性があります-----:)

于 2012-10-09T18:33:03.013 に答える