これは初見の人にとっては厄介な問題です。
[RuntimeBinderException: Cannot perform runtime binding on a null reference] CallSite.Target(Closure , CallSite , Object ) +148 System.Dynamic.UpdateDelegates.UpdateAndExecute1(CallSite site, T0 arg0) +664 ...
初見の人にとって厄介な理由は、修正すべき場所とは異なる場所が指摘されるからです。
この例については…
luckyNumber はきちんと初期化しています。
luckyNumber に問題が無い事は明らかです。
未初期化のフィールドへアクセスしていないかどうかを確認しましょう。
この場合は @Model へのアクセスが問題です。
@Model を一切初期化していないのにも関わらず、
@Model へアクセスしようとしています。
@Model については @model 宣言をしない場合 dynamic 型として解決されるようです。
dynamic 型は実行時に解決されます。
実行するまでエラーが発生しないため、見過ごしてしまう事が懸念されます。
他のソースコードから input タグ等をコピーしてきた場合に起こり得ます。
@Model は存在しないので value 属性ごと削除しても良いでしょう。