3

オーディエンスとロケールの2つのリストボックスを含むビューがあります

両方の選択されたインデックスを含むフォームをコントローラーに送信しようとしています。コントローラーには、この署名のアクションメソッドがあります。

public JsonResult Submit(Audience aud, Locale loc)
{
// do stuff
}

私が抱えている問題は、オーディエンスとロケールの両方にIDプロパティがあるため、モデルバインダーは、選択した値を割り当てる場所について少し混乱しています。オーディエンスには「2」、ロケールには「1」が必要な場合、両方に値「1」が割り当てられます。

問題は、送信時にページを2つで区別するにはどうすればよいですか?LocaleのID値の前に「locale。」を付けようとしました。そのため、データとしてControllerに渡されるパラメーター文字列は次のようになります "&locale.id=1&audience.id=2"が、機能しないようです。

助言がありますか?さらに情報が必要な場合は、提供します。

ありがとう

デイブ

4

2 に答える 2

3

使用する:

public JsonResult Submit([Bind(Prefix = "audience")]Audience aud,[Bind(Prefix = "locale")]Locale loc)
{
// do stuff
}

すべてのオーディエンスフィールドには、htmlフィールドの名前に「audience」プレフィックスを付ける必要があります:audience.id、audience.name、..。

<input id="audience_name" name="audience.Name" type="text" value="" />
于 2010-02-24T18:16:20.120 に答える
2

送信アクションにデータを取り込むための特定のViewModelが必要です。そのオブジェクトには、AudienceIdとLocaleIdが必要です。ドロップダウンを作成するときは、期待する名前と一致する名前でドロップダウンを作成する必要があります。

于 2010-02-24T17:16:43.447 に答える