☆.NET MVCに慣れない人のメモ
※以降、Razor表記を前提にしてます
明確な答えが見つからなかったけれど、無理っぽいので配列で返却する事に。
@Html.TextBox("tempArray[0]",null)
受け側のコントローラーの引数にstring[] tempArrayとか入れとけば良い
ちなみに自前でクラスを作ってにこんなのもできる
public class Hoge{ public string[] strArray; public Fuga[] fuga; } public class Fuga{ public string text; } fugaとかstrArrayにあらかじめ設定してControllerからviewを起動 @model ***.Hoge ~略~ @Html.TextBoxFor(model => model.tempArray[0]) @Html.TextBoxFor(model => model.fuga[0].text)
受け方のコントローラーの引数にHoge modelとかしておけば良い
☆で、なんでList<>構造の返却がしたかったかと言うと
ADO.NET Entity Data Modelで作成したテーブルに、アソシエーションでリレーション設定すると、1対n関係のテーブルの"n"がList<>として"1"のEntityに定義されたんです。
それで、"1"のEntityをViewに渡して"n"のデータも一緒に参照・更新できてコントローラーに返却したいと思ったわけです。
けれど、これができないw
参照はできるのだけれど、コントローラーへの返却後のデータ内のList<>がnullなんです。
なので、こういった場合はC⇔V間で受け渡し用のEntityクラスを作るしかないのかなぁと…
そんな馬鹿なと思うので、きっと良い方法があるはずだと思うんだけれど
ではでは。