パラメータ名: タイプ、名前など、null にすることはできません。これらの質問はすべて、実際のパラメーターが設定されていないことが原因です。私が知る限り、ObjectDataProvider の「パターン」パラメーターはありません。次のマークアップは、「値を null にすることはできません。パラメータ名: パターン」を生成し、青い波線の下線を付けます。デザイナーが例外をスローして読み込みに失敗することがありますが、リロード ボタンを押すとページが読み込まれます。コードとマークアップがコンパイルされ、期待どおりに実行されます。これは何が原因ですか?
<Page.Resources>
...
<ObjectDataProvider ObjectType="{x:Type local:AutoFillBox}" MethodName="RecUpdateOutput" x:Key="odpOutput">
<ObjectDataProvider.MethodParameters>
<sys:String>08:00</sys:String>
<sys:String>12:00</sys:String>
<sys:String>13:00</sys:String>
<sys:String>18:00</sys:String>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Page.Resources>
クラスの一部です。これはカスタム コントロールではなく、名前の選択が不適切であることに注意してください。
public partial class AutoFillBox
{
public AutoFillBox()
{ //default }
public string RecUpdateOutput(string time1, string time2, string time3, string time4)
{
//do stuff
}
}
これはページ上の唯一の ObjectDataProvider であり、4 番目の文字列パラメーターを削除すると、エラーはなくなります。さらに、それが呼び出すメソッドは 4 つの文字列を取り、文字列を返すので、その結果を出力テキスト ボックスにバインドできます。同様のメソッドと署名を使用して、別のページで同様の ObjectDataProvider を使用していますが、同じエラーが表示されます。ここで一体何が起こっているのですか?
Visual Studio Ultimate 2013、Windows 7 Professional、.net 4.5 を対象