Webパーツのプロパティ値を検証する方法は?
-
16-10-2019 - |
質問
カスタムWebパーツには、カスタムWebパーツプロパティがあります。ユーザーがプロパティ値を変更した場合(またはプロパティがBing保存されている場合)、カスタムサーバーサイドコードで検証したいと思います。それは可能ですか?発生した問題を説明するツールペインにエラーメッセージを表示できますか?
例:ユーザーがリスト名(プロパティ内)を入力する必要があるWebパーツがあります。そのような名前のリストが存在するかどうかを確認したいと思います。
解決
入力を確認するカスタムインターフェイスを作成するカスタムEditorPartを作成できます。これをチェックしてください: Webパーツプロパティ - パート2-エディターパーツ
他のヒント
私はあなたがそれをテストしていないことをお待ちしております。ここで例を見つけることができます: http://www.sharepoint-tips.com/2010/06/validating-web-part-porperties.html
private string _webPartContentLink = null;
[Personalizable(PersonalizationScope.Shared)]
[WebBrowsable(true)]
[System.ComponentModel.Category("Services")]
[WebDisplayName("Enter WebPart Content Link")]
[WebDescription("Enter WebPart Content Link")]
public string WebPartContentLink
{
get
{
if (_webPartContentLink == null)
{
_webPartContentLink = string.Empty;
}
return _webPartContentLink;
}
set
{
if (!value.StartsWith("http://"))
throw new WebPartPageUserException("The WebPart Content Link is not valid");
}
_webPartContentLink = value;
}
}
Wictorが言ったことに加えて、カスタムまたはボックスから外れているときに独自の検証グループを定義することを忘れないでください。戻る(たぶんあなたの本のヴィクターの主題?:-)
また、TextBoxおよびASP.NET検証コントロールを使用してカスタムエディターパーツを作成することもできます。これにより、プロパティに関するクライアント側の検証が得られます。その解決策で私が見ることができる唯一の欠点は、カスタムエディターのパーツが常に上部に表示されることです(これは非常に廃止されています...)。
ウォークスルーについては、このMSDNの記事をご覧ください。 http://msdn.microsoft.com/en-us/library/hh228018.aspx#y4419