Получить значение CheckBox, соответствующее FileUpload в ASP.NET MVC - PullRequest
0 голосов
/ 18 февраля 2012

У меня есть 3 загрузки файлов и три переключателя, связанные с ними.
Все переключатели имеют одинаковое имя, чтобы сделать их взаимоисключающими.

Просмотр

<div>
    Upload Files:<br />
    <p>
        <input type="file" name="resim1" id="resim1" />
        &nbsp;<%= Html.RadioButton("defaultresim", "", true, new { id = "defaultresim1" })%><label for="defaultresim1">Set as default</label>
    </p> 
    <p>
        <input type="file" name="resim2" id="resim2" />
        &nbsp;<%= Html.RadioButton("defaultresim", "", true, new { id = "defaultresim2" })%><label for="defaultresim2">Set as default</label>
    </p> 
    <p>
        <input type="file" name="resim3" id="resim3" />
        &nbsp;<%= Html.RadioButton("defaultresim", "", true, new { id = "defaultresim3" })%><label for="defaultresim3">Set as default</label>
    </p> 
</div>

У меня естьлогика моего контроллера выглядит следующим образом.

List<ProductImage> images = new List<ProductImage>();
if (collection != null)
{
    for (int i = 0; i < collection.Count; i++)
    {
        HttpPostedFileBase resim = collection[i];
        if (resim != null)
        {
            ProductImage image = new ProductImage();
            byte[] temp = new byte[resim.ContentLength];
            resim.InputStream.Read(temp, 0, resim.ContentLength);


            image.ImageData = temp;
            image.ImageMimeType = resim.ContentType;
            // How to get the image that will be marked as default?
            //image.IsImageDefault = ??;
            images.Add(image);
        }
    }
}

Вот как выглядит мой фрагмент кода в браузере.

enter image description here

Я хотел бы получить image.IsImageDefaultв идеале значение внутри цикла.

Я довольно новичок в MVC и все еще увлечен WebForms и не могу найти выход.
Что нужно сделать, чтобы решить эту ситуацию?

1 Ответ

1 голос
/ 18 февраля 2012

Вы можете установить значение каждого переключателя в соответствии с индексом файла в коллекции (например, 0, 1, 2). Затем, когда вы просматриваете файлы, проверьте, совпадает ли ваша переменная i со значением поля формы defaultresim.

Не видя подписи вашего метода, один из способов сделать это - просто извлечь значение defaultresim из коллекции форм:

int defaultresim = int.Parse(Request.Form["defaultresim"]);

А потом в вашем цикле:

image.IsImageDefault = (i == defaultresim);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...