Abe Miessler
Abe Miessler

Reputation: 85116

LinqDataSource: How to define a default value

Is it legal to define a default value for a parameter the way I am in the code below? It keeps throwing an "Input string was not in a correct format." error for me.
Is there a different way I should be doing this?

        <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>
.
.
.

Upvotes: 0

Views: 571

Answers (2)

Abe Miessler
Abe Miessler

Reputation: 85116

Found a way around it by setting the default values in the PageLoad event in the code behind.

    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();
    }

Upvotes: 1

st78
st78

Reputation: 8316

I would create a stored procedure with parameter MyNumber, Drag&drop it to diagram. Than you need to setup return type to "Sources". Than it is easy and native to execute it like DataContext.SelectSources(5);

Upvotes: 0

Related Questions