Как использовать значение Html.TextBox с Controller и Html.Action? - PullRequest
0 голосов
/ 23 июня 2018

Допустим, у меня есть вид, содержащий продукт, который любой пользователь может приобрести и заказать. Таким образом, в этом представлении есть кнопка: «Добавить в корзину», описание товара, сумма заказа товара. В этом представлении пользователь может выбрать сумму с помощью Html.TextBox, затем пользователь может заказать ее, нажав «Добавить в корзину». Поэтому я пытался закодировать его, но я не уверен, насколько правильный код (проблема в сценарии) ...

Обратите внимание, что у моей функции контроллера есть два аргумента: сам продукт (есть модель для продукта) и сумма (целое число). Ну, у меня не было проблем с продуктом, но как только я начал использовать и количество, оно стало намного сложнее.

Вот мой код:

@*@model SurffingSite.Models.Products*@

@ Список моделей

@{
    ViewBag.Title = "DisplayAllProducts";
}

Наши продукты

    <div class="row">

        @foreach (var product in Model)
        {

            <figure class="portfolio-item col-md-4 col-sm-6">
                <img src="~/images/@product.Picture" class="img-responsive" />
                <div class="product-details">
                    <h2 class="product-name">Products Name: @product.ProductName</h2>
                    <label>Category: @product.Category</label>
                    <div class="product-description">Description: @product.Description</div>
                    <div class="product-price">Price: @product.Price ₪</div>
                    <div class="form-group">
                        <label>Enter amount:</label>
                        <div class="col-md-10">
                            <input type="text" name="amounter" id="amounter" />
                        </div>
                    </div>
                    <div>


                        <a id="btn_add" href="" data-id ="@product" class="btn btn-info btn-lg" style="margin-left:60px">
                            <span class="glyphicon glyphicon-shopping-cart"></span> Add to cart
                        </a><br />


                        <a id="btn_more_info" href="@Url.Action("Index", "Home")" class="btn btn-info btn-lg" style="margin-left:60px">
                            <span class="glyphicon glyphicon-eye-open"></span> Read more
                        </a>
                    </div>

                </div>
            </figure>
        }
    </div>
</section>

<script>
    $(".btn btn-info btn-lg").click(function(event)
    {
        event.preventDefault();
        var url = '@Url.Action("AddToCart", "Cart", new {prod = "product", amount = "theamounter"})';
        url = url.replace("theamounter", $("#amounter").val());
        url = url.replace("product", $(this).data());
        window.location.href = url;
    });
</script>

Вот соответствующий метод контроллера: https://pastebin.com/FX5jGAuZ

и вот моя модель для объекта продукта: https://pastebin.com/FgJ0u51P

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...