私は次のLinqDataSourceを持っています:
<asp:LinqDataSource ID = "agreementDs"
ContextTypeName = "AdministrationDataContext"
TableName = "Agreements"
runat = "server"
EnableUpdate = "true"
Where = "AgreementId=@AgreementId">
<WhereParameters>
<asp:QueryStringParameter QueryStringField = "AgreementId"
Name = "AgreementId"
Type = "Int32"
DefaultValue = "-1" />
</WhereParameters>
</asp:LinqDataSource>
契約データベーステーブルから1行をフェッチすることになっています。パラメータAgreementIdが-1であるかどうかを検出するにはどうすればよいですか。その場合、404ページを提供するか、ユーザーをサイトのフロントページにリダイレクトしますか?このロジックをコードビハインドに挿入するのが正しい場所がわかりません。
更新:ユーザーをリダイレクトする必要があるのは、AgreementIdパラメーターが-1の場合だけではありません。これは、データソースに行が含まれていない場合に常に発生するはずです。