サンドボックスWebPartソリューションでパブリックプロパティを作成する
-
09-12-2019 - |
質問
私は農場のソリューションをサンドボックス1に移植しようとしています、そして私はこのコードをポートする方法を理解することができません:
[ToolboxItem(false)]
public partial class vClockPartSB : System.Web.UI.WebControls.WebParts.WebPart
{
[Personalizable(PersonalizationScope.User)]
public Collection<String> ClockTimeZones { get; set; }
[Personalizable(PersonalizationScope.User)]
public int NumberOfClocks { get; set; }
[Personalizable(PersonalizationScope.User)]
public string DdlMain { get; set; }
[Personalizable(PersonalizationScope.User)]
public string DdlSubOne { get; set; }
[Personalizable(PersonalizationScope.User)]
public string DdlSubTwo { get; set; }
[Personalizable(PersonalizationScope.User)]
public string DdlSubThree { get; set; }
[Personalizable(PersonalizationScope.User)]
public string DdlSubFour { get; set; }
protected override void OnInit(EventArgs e)
{
ClockTimeZones = new Collection<string>();
base.OnInit(e);
InitializeControl();
}
.
次のエラーが発生します:
Web Part Error:サンドボックスコードによって未処理の例外がスローされました Partial Trust Appドメインのラッパーの実行メソッド:Web Part プロパティ 'ClockTimeZones'はサポートされていないタイプを使用しています (System.Collections.ObjectModel.Collection`1 [[System.String、MSCORLIB、) バージョン= 2.0.0.0、Culture= Neutral、PublicKeykone= B77A5C561934J089]) サンドボックスコードWebパーツとして実行することはできません。
どのように私はそれに近づくべきですか?
解決
文字列のコレクションではなく、文字列を保存するだけで誘惑され、自分のシリアル化/デシリアライズを実行します。おそらくstring.split()関数と適切な区切り文字を使用しています。
他のヒント
Sandboxでは、System.Collections.ObjectModel
ネームスペースは許可されていません。
あなたのシナリオのために、リスト
SandboxソリューションのWebパーツのプロパティとして、次の種類のみがサポートされています。
- 文字列
- bool
- enum
- short
- int
- GUID
- uri
- byte
- char
- 長い
- float
- 10進数
- double
これはAlan Dahlの
ブログの記事ここで、Alan Dahlsのブログは検索をしました。
所属していません sharepoint.stackexchange