2010-04-08 83 views
0

按照我在下面的代碼中定義參數的默認值是否合法?它一直拋出「輸入字符串格式不正確」。對我來說錯誤。
有沒有不同的方式我應該這樣做?LinqDataSource:如何定義默認值

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

回答

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

我會用參數MyNumber創建一個存儲過程,拖動&將它放到圖上。比你需要將返回類型設置爲「Sources」。 比起DataContext.SelectSources(5)來執行它簡單而且原生。