0

以下のコードのように、パラメーターのデフォルト値を定義することは合法ですか? 「入力文字列の形式が正しくありませんでした」というメッセージがスローされ続けます。私にとってのエラー。
これを行うべき別の方法はありますか?

        <asp:LinqDataSource ID="lds_numbers" runat="server" ContextTypeName="nrm.prop.myDataContext"
            TableName="Sources" Where="myNumber== @myNumber" EnableDelete="True"
            EnableInsert="True" EnableUpdate="True">
            <WhereParameters>
                <asp:Parameter DefaultValue='<%= this.StateItems["myNumber"] %>' Name="myNumber" Type="Int32" />
            </WhereParameters>
.
.
.
4

2 に答える 2

1

コードビハインドの PageLoad イベントにデフォルト値を設定することで、回避する方法を見つけました。

    protected void Page_Load(object sender, EventArgs e)
    {
        lds_numbers.InsertParameters[0].DefaultValue = this.StateItems["myNumber"].ToString();
        lds_numbers.WhereParameters[0].DefaultValue = this.StateItems["myNumber"].ToString();
    }
于 2010-04-08T23:25:06.273 に答える
0

パラメータ MyNumber を使用してストアド プロシージャを作成し、それを図にドラッグ アンド ドロップします。戻り値の型を「ソース」に設定する必要があります。DataContext.SelectSources(5); のように実行するのは簡単でネイティブです。

于 2010-04-08T21:53:31.473 に答える