kontrol cihazına kutusunun değeri geçmesi

oy
0

Nasıl kontrolöre benim onay kutusunun (görünümü) bir değeri geçirmek?

<div className=row>
    <div class=filters-container col-sm-3>
        <h5 class=navbar navbar-dark bg-info>Brands</h5>

        <p>Apple</p>
        <input type=checkbox class=filter id=AppleFilter value=true name=Filters></input>
    </div>
</div>

Benim denetleyicisi:

public class ProductController : DaoController<ProductDao, Product>
{
    [HttpGet]
    public override IActionResult Get()
    {
        return InnerGet();
    }

    [HttpGet({value})]
    public IActionResult Search(string value)
    {
        var daoManager = HttpContext.RequestServices.GetService<DaoManager>();
        List<Product> products = daoManager.ProductDao.SearchProduct(value);
        return Ok(products);
    }

    [HttpGet]
    public IActionResult Filter(string responsables, bool checkResp = false)
    {
        ///????
    }

Ben değerlerini iletmek görünümü ve denetleyici koymak için bilmiyorum.

Oluştur 08/11/2018 saat 11:32
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
2

Bir ViewModel tanıtmak gerekir. değerleri göndermek için basit bir yol, denetçi eylemine bu ViewModel POST etmektir.

public class FilterViewModel {

   [DisplayName("Apple")]
   public bool DoApplyAppleFilter { get; set; }
}

Görünüm söyle Filter.cshtmlBu ViewModel kullanmak:

@model FilterViewModel 

@* this <form> will be posted to the "Filter" action in the "ProductController" *@
@using (Html.BeginForm("Filter", "Product", FormMethod.Post, new { @class = "ym-form"})) {

    @Html.LabelFor(m => m.DoApplyAppleFilter)    @* renders <label> with the given DisplayName for the checkbox *@
    @Html.CheckBoxFor(m => m.DoApplyAppleFilter) @* renders <input type="checkbox"> *@

    <button type="submit">Apply filter</button>
}

Kontrolör Eylem:

[HttpPost]
public IActionResult Filter(FilterViewModel viewModel) {

   bool isChecked = viewModel.DoApplyAppleFilter;
   // ...
}

Bunun yerine bir gönderme ait <button>, ayrıca POST AJAX kullanabilirsiniz <form>, veya değerleri ayıklamak ve bir GET isteği kullanın.

Cevap 08/11/2018 saat 13:23
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more