1

MVC で「編集可能な」テーブルを作成したいと考えています。各行には、行の値を更新するための独自のドロップダウン リストがあります。以前に更新された行のページ読み込み時にドロップダウンリストの選択値を設定するにはどうすればよいですか。

私の現在のRazorコードは次のようなものです:

<tbody>
   @foreach (var conversion in Model.PaginatedConversions)
   {
        <tr>
             <td>@conversion.tSystem.systemName</td>
             <td>@conversion.conversionStandardValue</td>
             <td>@Html.DropDownList("ConversionStandardIdFor" + conversion.conversionID.ToString(), Model.AvailableValuesForConversion, "")</td>
             <td>@conversion.conversionDescription</td>
             <td>@conversion.conversionDateInput</td>
             <td>@conversion.ConversionDateConverted</td>
             <td>@conversion.ConversionUser</td>
        </tr>
   }

しかし、各ドロップダウンの選択した値を設定できません。これどうやってするの?助けてくれてありがとう!

Edit1 : このコードは、型のモデル プロパティ ( Model.PaginatedConversions) をループしますList<Conversion>。Conversion クラスは次のとおりです。

public class Conversion {
    int ConversionId { get;set; }
    string ConversionValue { get; set; }
    int ConversionConvertedValue { get; set; }
}

ConversionValueテーブルの目的は、ユーザーが を で選択できる別の値にマップするための編集可能な行を作成することModel.AvailableConversionValuesです。この変換された値は に格納されConversionConvertedValueます。

プロパティは、ユーザーが ConversionValue をマップするために選択できる値を含むModel.AvailableConversionValuesタイプです。List<SelectListItem>

4

2 に答える 2

0

DropDownListFor最初のパラメーターとして選択する必要があるオプションの値を渡し、2 番目のパラメーターとしてコレクションを渡すことで、html ヘルパーを使用できます。

@Html.DropDownListFor(m => m.LastSelected, Model.AvailableValuesForConversion, "")

asp.net MVC で選択したアイテムを DropDownList に設定する

razor Html.DropdownList は、optionLabel として「選択してください」および selectedValue として「US」を提供します

アップデート:

良い解決策があるかもしれませんが、これが私が思いついたものです。

問題は、メソッドが渡されたなどにDropDownList基づいて選択された値を検索することです。そのため、ドロップダウンの名前でプロパティを追加し、ドロップダウンで設定する必要がある値に値を設定すれば完了です。 !nameModelViewDataViewData

をドロップダウンに設定する必要がありConversionValueます。それ以外の場合は、それに応じてコードを更新してください。

   @foreach (var conversion in Model.PaginatedConversions)
   {
        var ddId = "ConversionStandardIdFor" + conversion.conversionID.ToString();

        ViewData[ddId] = conversion.ConversionValue;

        <tr>
             <td>@conversion.tSystem.systemName</td>
             <td>@conversion.conversionStandardValue</td>
             <td>@Html.DropDownList(ddId, Model.AvailableValuesForConversion, "")</td>
             <td>@conversion.conversionDescription</td>
             <td>@conversion.conversionDateInput</td>
             <td>@conversion.ConversionDateConverted</td>
             <td>@conversion.ConversionUser</td>
        </tr>
   }
于 2012-06-08T13:37:43.860 に答える