1

だから私はアップグレードを使用しようとしているasp.netアプリケーションを持っています。私が達成したいのは、1 つのドロップダウンリストで選択された値を使用して、2 番目のドロップダウンリストに表示される値を決定することです。この範囲で、2 つの DDL を作成し、それらをマークアップで LINQDataSource オブジェクトにバインドしました。私がやろうと思ったのは、2 番目の LinqDatasource を List(of tablename) リストにバインドすることです。このリストは、フォーム Load で作成します。そのようにして、メモリ内にコレクションを保持し、クライアント側で LINQ を実行できるため、戻り値のセットを動的に決定できます。データソース、つまりドロップダウンリストの値。

リストがプロパティである限り、LinqDataSource をリストにポイントできると思われます。したがって、次のことを試しましたが、クラスが見つからないというエラーが表示されます。

<asp:DropDownList ID="ddlTitle" runat="server" DataTextField="Title" DataValueField="Title"
        DataSourceID="ViolationTitles" Width="203px" >
    </asp:DropDownList>

        <asp:DropDownList ID="ddlChapters" runat="server" 
        DataTextField="FullChapterName" DataValueField="Chapter_Number"
        DataSourceID="ViolationChapters" Width="203px">
    </asp:DropDownList>

    <asp:LinqDataSource ID="ViolationTitles" runat="server" 
        ContextTypeName="ARS_LINQ_Connections.ARSDataContext" EntityTypeName="" Select="new (key as Title, it as Violation_Title_Chapters)" 
        TableName="Violation_Title_Chapters" GroupBy="Title">
    </asp:LinqDataSource>

    <asp:LinqDataSource ID="ViolationChapters" runat="server"
    ContextTypeName="Test"  
        EntityTypeName="" 
        TableName="rsViolations" 
        Select='new (Title, Chapter_Number, Chapter_Name, String.Concat(Chapter_Number + ". " + Chapter_Name) as FullChapterName)'>
    </asp:LinqDataSource>

コードビハインド

Public Class Test
    Inherits System.Web.UI.Page
    Public Property rsViolations As New List(Of Violation_Code)

    Dim arslinq As New ARS_LINQ_Connections.ARSDataContext
    Dim rsTitles As New List(Of Violation_Title_Chapter)

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        rsViolations = (From v In arslinq.Violation_Codes).ToList
        rsTitles = (From t In arslinq.Violation_Title_Chapters).ToList



    End Sub
End Class
4

0 に答える 0