ViewPage<T> はモデルが T のインスタンスであることを常に内部的に検証するため、現時点ではこれが機能しても意味がありません。このチェックのために null を渡すことはできません。
そもそも構造型が許可されなかった理由については、さまざまな理由がありました。(a) 人々がモデルにカスタム構造型を使用することを奨励する可能性がありますが、これは正しいことではありません。(b) Controller.UpdateModel() のパラメーターとして構造体型を渡すことはできません。(c) フィルターがモデルを検査および変更できるように、モデルには参照の等価性が必要です。(d) int などの組み込み構造型は、通常、モデル オブジェクトとして単独では役に立ちません。(e) 構造体型は継承をサポートしていません。たとえば、int モデルを ViewPage<long> に渡すと失敗します。
構造型は不変であるべきなので (c) はおそらく問題ではないことがわかりますが、他の項目では、構造型をサポートする前に十分な検討と設計上の決定を行う必要があります。これらをサポートすることの結果は、ViewPage<T> の制約を単に削除するよりもはるかに大きくなります。