J'ai une ObjectDataSource avec un paramètre provenant d'une chaîne de requête. Je reçois l'erreur suivante: Value was either too large or too small for an Int32.
Je crois que la chaîne de requête peut être trop longue pour son type de données. L'InfoSheetID est rempli à partir de la base de données. Y at-il une autre option que je peux prendre ou modifier l'ObjectDataSource pour empêcher l'erreur?ASP.net ObjectSource Parameter
<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>
En plus des problèmes de longueur potentiels, réfléchissez à la manière dont vous pourriez gérer une valeur arbitraire non-entière entrée par l'utilisateur. Par exemple 267.52 ou "bonjour". Dans la plupart des cas, cela ne posera pas de problème, mais l'envoi de valeurs aveugles entraînera des exceptions dans ces situations et la chaîne de requête est particulièrement facile à modifier. – pwdst