javascript - asp.net mvc4 Entity Framework 中的评级

标签 javascript html css asp.net-mvc-4 asp.net-routing

我正在尝试使用 Entity Framework 在 asp.net mvc4 中进行评级,我已经在 cshtml 中尝试了这段代码,但它不起作用,请帮助我实现这一目标。它在我在普通浏览器中运行时工作,但在集成到 asp.net mvc4 中时它不工作

{
  <h2>rating</h2>
  <form method="post" id="signin" action="@Url.Action("rating", "Rating")">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

      <script type="text/javascript" src="D:\My Programs\FSLIndiaLatest\FSLIndiaLatest\Scripts\jquery.js"></script>
      <script type="text/javascript" src="D:\My Programs\FSLIndiaLatest\FSLIndiaLatest\Scripts\rating.js"></script>
      <link rel="stylesheet" type="text/css" href="D:\My Programs\FSLIndiaLatest\FSLIndiaLatest\Styles\rating.css" />
      <script type="text/javascript">
         $(function () {
            $('.rating').rating();
            $('.ratingEvent').rating({ rateEnd: function (v) { $('#result').text(v); } });
         });
      </script>
      <input type="text" class="ratingEvent rating9" value="5" />
      <div><b id="result">5</b> start(s)</div>
      <p>&nbsp;</p>
  </form>
}

rating.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);

rating.css代码

{

.rating { height: 20px; padding:0px; margin:0px; }
.rating li { list-style: none; float: left; width: 20px; height: 20px; padding:0px; margin:0px;}
.rating li a { display: block; width: 20px; height: 20px; padding:0px; margin:0px; overflow: hidden; text-indent: -100px; background-image: url(D:\My Programs\FSLIndiaLatest\FSLIndiaLatest\Images\rating.png); background-repeat: no-repeat; text-decoration:none; }
.rating li a:hover { background-color: transparent; text-decoration: none; }
.rating li .hover { background-position: 0px -20px; }
.rating li .full { background-position: 0px -40px; }

最佳答案

我假设您正在使用 Razor 引擎。如果是这样,请不要这样做:

<script type="text/javascript" src="D:\My Programs\FSLIndiaLatest\FSLIndiaLatest\Scripts\jquery.js"></script>

相反,这样做:

<script type="text/javascript" src="~/Scripts/jquery.js"></script>

编辑

这适用于由绝对本地路径引用的所有 .js 和 .css 文件。如果 ~/ 功能不适合你,尝试使用相对路径:src="/Scripts/jquery.js"

您的 html 中引用的所有文件都应包含在您的元素中。

它以前可能对您有用,因为您正在访问一个简单的本地 html 页面。如果 html 页面托管在服务器上(当您运行 MVC 4 应用程序时),它无法访问本地文件。

关于javascript - asp.net mvc4 Entity Framework 中的评级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21846862/

相关文章:

html - :before pseudo element and td content 的 CSS 垂直对齐

javascript - 如何改变html元素的样式?

javascript - 在react-native中导入npm模块时出错

html - Firefox 不显示 Logo ,而 Chrome 显示

jquery - 附加 anchor 标记

javascript - Bootstrap Tour Prev 按钮不会转到上一页

javascript - 包括相同 ESLint 规则的错误和警告?

javascript - 将样式应用于在 Polymer 中使用 InnerHTML 插入的元素

css - 导航栏在 ipad 中不简洁

javascript - $ ('element' ).show();对比 $ ('element' ).css ('visibility' , 'visible' ) : which is better to use?