Asp.net mvc 获取foreach循环中的复选框值

Asp.net mvc 获取foreach循环中的复选框值,asp.net-mvc,checkbox,Asp.net Mvc,Checkbox,我有一个其他国家的模型作为列表。在每个国家/地区之前,我需要设置一个复选框: @foreach (string country in Model.OtherCountries) { <div class="form-group"> <div class="col-md-2 control-label"> @Translations.Text

我有一个其他国家的模型作为列表。在每个国家/地区之前,我需要设置一个复选框:

@foreach (string country in Model.OtherCountries)
    {
        <div class="form-group">
            <div class="col-md-2 control-label">
                @Translations.Text
            </div>
              <div class="col-md-10">
                <div class="col-md-1">
                    <label>
                        <input type="checkbox" name="checkboxCountry" id="checkboxCountry" value="true"/>
                    </label>
                </div>
                <div class="col-md-11">
              <textarea name="@(Html.NameFor(m => m.OtherCountries))" class="form-control textarea-resize" rows="5">@country</textarea>
              </div>
            </div>
        </div>
    }

通过“提交”按钮,我可以将模型发送给控制器,但我的问题是,我不知道哪个复选框属于哪个国家?每个国家/地区前面都有一个复选框,但如果我想从列表中删除一个国家/地区,我必须根据该复选框进行删除。

好的,您需要为这种情况创建一个视图模型,在该视图模型中,您可以添加具有国家/地区名称的字段,如:

public [datatype] USA {get; set;}
视图模型的名称可以是:public class CountriesViewModel

现在,在填充视图时,可以将这些名称添加到复选框中,以便在将信息发送回控制器时,可以在视图中执行以下操作:

@foreach (string country in Model.OtherCountries)
{
    <div class="form-group">
        <div class="col-md-2 control-label">
            @Translations.Text
        </div>
          <div class="col-md-10">
            <div class="col-md-1">
                <label>
                    <input type="checkbox" name="@country" />
                </label>
            </div>
            <div class="col-md-11">
          <textarea name="@(Html.NameFor(m => m.OtherCountries))" class="form-control textarea-resize" rows="5">@country</textarea>
          </div>
        </div>
    </div>
}

您需要创建一个模型来包装国家名称和选定的布尔值,并将字符串OtherCountries列表替换为此新模型的列表。从那时起,只需将复选框的值与每个国家/地区的选定属性以及带有标签的名称相链接,这样,在控制器中,一旦单击“提交”,您就可以获得所需的信息。

为视图创建一个模型,其中包含所需的信息,这将使您的操作变得简单。
public ActionResult CountriesController(CountriesViewModel contries)
{
}