私はどのフィールドを検証できなかったかをユーザに通知する方法を理解しようとしています。 LINQ to SQLクラスdatacontextをセットアップして、ASP.netページからデータベースにアクセスしました。ユーザー入力はWebインターフェイスフォームから来てExcelファイルからインポートするので、検証ロジックを1か所に書きたいと思います。この背後にあるアイデアは、私がExcelからインポートするときです。私は各行のエラーメッセージを収集し、要約を表示します。論理的な場所は、LINQによって生成されたクラスをSQLに拡張するようです。ASP.netとlinq-to-sqlのErrorProvider(Windowsフォームから)?
public partial class Customer
{
partial void OnTitleChanging(string value)
{
if (!Char.IsUpper(value[0])) {
throw new ValidationException(
"Title must start with an uppercase letter.");}
}
}
このアプローチの問題は、検証が失敗した最初のフィールド上で停止することである:ほとんどのドキュメントと例によると、私はこのような何かを行う必要があります。
WindowsフォームLink1で、フォームにErrorProviderコンポーネントを定義し、そのDataSourceプロパティをBindingSourceに設定すると、例外は検証されたコントロールの右に赤い円で示されます。この赤い円のツールチップに例外メッセージが表示されます。
ASP.netページに類似したものはありますか?私はリストビューでリストビューコントロールとインライン編集を使用しています。
アップデート: - 私は実際にはニック・カーバーが示唆されているものに似た何かをしました。 Link2。例外をスローする代わりに、私はエラーメッセージを記録します。
public partial class PQSSClassesDataContext
{
public partial class ErrorFeilds
{
private static List<string> Messages = new List<string>();
public void AddErrorMessage(string message)
{
Messages.Add(message);
}
public List<string> GetErrorMessages()
{
return Messages;
}
}
}
私は実際にエラーメッセージをフィールドにマップする方法に固執しています。だから、私はErrorProviderのようなものを探していた。エラーを記録するために、例外の代わりにイベントを使用しています。どのようにコードビハインドファイルから対応する失敗したフィールドをマークするか?
助けてください。
+1から派生した個々の検証コントロールによってASP.NETで実行されます。 – JoshJordan