@fryette

Как получить данные с формы в контроллер?

Подключил данный скрипт
www.codeproject.com/Tips/503495/Simple-rating-cont...
Вопрос заключается в том,как получить с него данные в контроллер,написано,что
Request.Form (ASP or ASP.NET),но обернув в Http.BeginForm почему то не получил данных в контроллер.
Быть может кто-то поможет,написав прототип контроллера в который должны приходить данные
мой код:
@using (Html.BeginForm("SetRating", "Album", FormMethod.Post))
                {
                    <input type="text" class="rating rating10" value="3" name="rating"/>
                }


И контроллер
[HttpPost]
        public void SetRating(int rating)
        {
            throw new Exception();
        }


JS скрипт самого файла рейтинга
(function ($)
{
    $.fn.rating = function (options)
    {
        var settings = $.extend(
            {
                rateEnd: function (value) { }
            }, options);

        function setRating(e, ul)
        {
            var i = parseInt(e.val());
            if (!i) { i = 0; }

            ul.find('a').removeAttr('class');
            ul.find('a:lt(' + i + ')').attr('class', 'full');
        }

        this.each(function ()
        {
            var e = $(this);
            var c = parseInt(e.attr("class").match(/rating\d+/)[0].replace('rating', ''));

            var ul = $('<ul class="rating"></ul>').insertAfter(e).width(c * 20 + 'px');

            if (c > 0)
            {
                for (k = 0; k < c; k++)
                {
                    ul.append('<li><a href="javascript:void(0);" title="' + (k + 1) + '">' + (k + 1) + '</a></li>')
                }
            }

            if (e.prop('readonly'))
            {
                var i = parseInt(e.val());

                if (!i) { i = 0; }

                ul.find('a').attr('title', i + ' / ' + c);
            }
            else
            {
                ul.find('a').each(function (index, link)
                {
                    var link = $(link);

                    link.hover(function ()
                    {
                        ul.find('a').removeAttr('class');
                        ul.find('a:lt(' + (index + 1) + ')').attr('class', 'hover');

                    }, function ()
                    {
                        setRating(e, ul);
                    });

                    link.click(function ()
                    {
                        e.val(index + 1);

                        setRating(e, ul);

                        settings.rateEnd(index + 1);
                    });
                });
            }

            setRating(e, ul);

            e.hide();
        });

        return this;
    }

})(jQuery);
  • Вопрос задан
  • 2681 просмотр
Решения вопроса 1
Во первых в форме не видно элемента c типом submit. Как вы ее отправляете?

Во вторых посмотрите при отправке формы, что реально отправляется через HttpPost в контроллер. Через инструменты в браузере через F12.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы