2

問題:

例外の詳細: System.Data.EntitySqlException: クエリ構文が無効です。近い用語「<」、8行目、16列目。

コードビハインド:

    protected void Page_Load(object sender, EventArgs e)
    {

        int Id = 3;

        Page.DataBind();
    }

プロジェクト.aspx.cs

<asp:EntityDataSource ID="ProjectEntityDataSource" runat="server" ConnectionString="name=DBEntities" DefaultContainerName="DBEntities" EnableFlattening="False" EntitySetName="projects" Select="it.[Id], it.[ClientId], it.[Name], it.[Description]"
    Where="it.ClientId = <%# Id %> " >
</asp:EntityDataSource>

私が試したこと: ASP.NETデータバインディング/コードビハインドからの変数の取得

簡単すぎることはわかっていますが、データの背後にあるコードをバインドできない理由が実際にどこにあるのかを理解できません。ありがとう!

4

3 に答える 3

2

次の例の助けを借りることができます

protected void Page_Load(object sender, EventArgs e)
{
     ProjectEntityDataSource.WhereParameters["Username"].DefaultValue ="3";
     Page.DataBind();
}

aspx

<asp:EntityDataSource ID="ProjectEntityDataSource" runat="server"
     ConnectionString="name=DBEntities" DefaultContainerName="DBEntities" 
     EnableFlattening="False" EntitySetName="projects" Select="it.[Id], it.[ClientId], 
     it.[Name], it.[Description]" Where="it.ClientId = @Username">
      <WhereParameters>
        <asp:Parameter Name="Username" Type="String" />
    </WhereParameters>
</asp:EntityDataSource>
于 2013-04-09T07:28:03.907 に答える
2
<asp:EntityDataSource ID="ProjectEntityDataSource" runat="server" 
    ConnectionString="name=DBEntities" DefaultContainerName="DBEntities" 
    EnableFlattening="False" EnableInsert="True" EnableUpdate="True"      
     EntitySetName="projects" Where="it.ClientId= @Id"  >
    <WhereParameters>
        <asp:QueryStringParameter Name="Id" Type="Int32" QueryStringField="Id" />
    </WhereParameters>
</asp:EntityDataSource>

このコードを試してください。

于 2013-04-09T07:47:40.770 に答える