С Asp.net Mvc я хотел бы выбрать несколько языков, на которых участники могут говорить, используя Dropdownlist в форме - PullRequest
0 голосов
/ 09 ноября 2019

Я не понял, как отправлять и сохранять выбранные языки.

Когда я использую плагин (select2), возникает проблема с Js и другим плагином в шаблоне.

Просмотр:

<div class="form-group">
<label class="col-md-4 control-label">Which Languages Speak *</label>
<span style="color:red;"><small>    >>> You can select multiple languages.</small></span>
<div class="col-md-8 inputGroupContainer">
<div class="input-group">
<span class="input-group-addon" style="max-width: 100%;"><i class="glyphicon glyphicon-list"></i></span>
<select class="form-control" name="Dil_Id[]" multiple="multiple" id="select" required>
@foreach (var item in dilList)
{
<option value="@item.Id">@item.DilAdi_Eng</option>
}
</select>
</div>
</div>
</div>

Контроллер:

public class YeniIhtiyacSahibiController : Controller
{
    // GET: IhtiyacSahibi/YeniIhtiyacSahibi
    IhtiyacSahibiUyeBLL _ISUye = new IhtiyacSahibiUyeBLL();
    ISUDilBLL _isuDil = new ISUDilBLL(); // members languages

    public ActionResult Index(int Id = 0)
    {
        var model = _ISUye.GetById(Id);
        ViewBag.Mesaj = GenelAraclarBLL.KayitYeni(); // Message Succesfull
        return View(model);
    }

    [HttpPost]
    public ActionResult Index(IhtiyacSahibiUye model)
    {
            return View(model);

    }
}

Что я могу сделать без плагина и как я могу отправлять и сохранять эти элементы? Я не знаю, как составить и отправить список. Спасибо за ваше время.

Ответы [ 2 ]

0 голосов
/ 09 ноября 2019

Привязка элементов управления формы выполняется с помощью параметра, указанного в методе Post контроллера. Ниже приведен пример для доступа к выбранному значению.

Модель

public class Mymodel
{
    public List<SelectListItem> dilList { get; set; }
    public int? Id { get; set; }
}

Контроллер

public class YeniIhtiyacSahibiController : Controller
{
   [HttpGet]
   public ActionResult Index()
   {
     //Get Method
      return View(model);
   }

   [HttpPost]
   public ActionResult Index(IhtiyacSahibiUye model)
   {
     car selectedId=model.Id
    return View(model);
   }
}

Вид

@model namespace.Models.Mymodel 
@{
    Layout = null;
} 
<html>
<head>
</head>
<body>
 @using (Html.BeginForm("Index", "YeniIhtiyacSahibiController", FormMethod.Post))
    {
        <table>
            <tr>
                <td>
                    DilAdi_Eng:
                </td>
                <td>
                    @Html.DropDownListFor(m => m.Id, Model.dilList, "Language")
                </td>
            </tr>            
            <tr>
                <td></td>
                <td>
                    <input type="submit" value="Submit"/>
                </td>
            </tr>
        </table>
    }
</body>
</html>

Cordialement

0 голосов
/ 09 ноября 2019

Я отправляю формы с select2 следующим образом:

  $.ajax({
        url: "/Projects/Edit/",
        type: "POST",
        data: {
            __RequestVerificationToken: token,

            ProjectManagersString: $("#ProjectManagers").val(),  //select 2 control value

        }
    })

Контроллер:

   public async Task<ActionResult> Edit(Project project)
    {

            if (Request.Form["ProjectManagersString[]"] != null)
            {
                foreach (var pmstring in Request.Form["ProjectManagersString[]"].Split(','))
                {

                }
            }

    }
...