我有一個帶查詢字符串參數的ObjectDataSource。我收到以下錯誤:Value was either too large or too small for an Int32.
我相信查詢字符串可能太長,因爲它的數據類型。 InfoSheetID從數據庫填充。是否有另一個選項我可以採取或修改ObjectDataSource以防止錯誤?ASP.net ObjectSource參數
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
OldValuesParameterFormatString="original_{0}"
SelectMethod="GetInfoByInfoID"
TypeName="BLL.InfoViewBLL">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="2148663911" Name="InfoSheetID"
QueryStringField="InfoSheetID" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
除了潛在的長度問題,請考慮如何處理用戶輸入的任意非整數值。例如267.52或「你好」。在大多數情況下,這不是一個問題,但盲目地轉換值會導致這些情況下的異常,並且查詢字符串特別容易改變。 – pwdst 2013-03-09 22:40:08