Как реализовать контроллер для этого кода AJAX? - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь внедрить систему голосования для проекта, над которым я работаю.

Я использовал этот скрипт в своем Quiz.cshtml. Часть AJAX - это адаптация фрагмента кода, который я нашел на SO-стороне. Я не уверен, откуда выбрать ответ. Или как это было реализовано в контроллере?

У меня есть следующие проблемы:

  1. Сохраните действие при голосовании. Не уверен, как это должно выглядеть в контроллере. Или, в основном, заставить работать код AJAX.

  2. Как я могу связать шрифт удивительный вместо изображения? Приведенный ниже код со шрифтом awesome работает отлично, отдельно.

        @*<div class="votecell post-layout--left">
            <div class="votes">
                <i class='fas fa-caret-up' style='font-size:48px;color:darkgrey'></i> 
                <br/>
                <i class='fas fa-caret-down' style='font-size:48px;color:darkgrey'></i>
            </div>
        </div>*@
    

Примечания: я использую кодирование проекта MVC ASP.NET в C #.

Cshtml файл с кодом AJAX ниже:

    <ul class="quizs">
    @foreach (var quiz in Model)
    {              
        <li>          
            <div class="details">

                <div class="rating-star">
                    @for (int i = 0; i < 5; i++)
                    {
                        <i class="fas fa-star"></i>
                    }
                </div>
            </div>

            <div id=@quiz.Id class="answer">
                <img src="Vote_up.png">
                <div class="score">0</div>
                <img src="Vote_down.png">>
            </div>
        </li>
    }
</ul>


@section scripts
{
    <script>
        $(function() {
            $('div.answer img.vote').click(function() {
                var id = $(this).parents('div.answer').attr('id').split('_')[1];
                var vote_type = $(this).hasClass('up') ? 'up' : 'down';
                if($(this).hasClass('selected')) {
                    $.post('/vote/', {id: id, type: vote_type}, function(json) {
                        if(json.success == 'success') {
                            $('#answer_' + id)
                                .find('img.' + vote_type);
                            .attr('src', 'vote_' + vote_type + '_selected.png')
                                .addClass('selected');
                            $('div.score', '#answer_' + id).html(json.score);
                        }
                    });
                } else {
                    $.post('/remove_vote/', {id: id, type: vote_type}, function(json) {
                        if(json.success == 'success') {
                            $('#answer_' + id)
                                .find('img.' + vote_type);
                            .attr('src', 'vote_' + vote_type + '.png')
                                .removeClass('selected');
                            $('div.score', '#answer_' + id).html(json.score);
                        }
                    });                
                }
            });
        });
    </script>
}

На данный момент я получаю следующий результат, где он не показывает изображение вверх / вниз

enter image description here

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