2014-02-18 5 views
0

asp.net mvc4에서 엔티티 프레임 워크로 등급을 평가하려고합니다.이 코드는 cshtml에서 시도했지만 작동하지 않습니다. 제발이 일을 도와주세요. rating.js {asp.net mvc4 엔터티 프레임 워크에서 평가

(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); 

}에 대한

코드에 대한 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.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; } 

}

답변

0

당신이 면도기 엔진으로 작업하고 있다고 가정합니다. 그렇다면,이 작업을 수행하지 않는 대신

<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 응용 프로그램을 실행할 때) 로컬 파일에 액세스 할 수 없습니다.

+0

예 저는 면도기를 사용하고 있습니다. ,,, 나는 바뀌 었습니다. 이제는 완벽하게 작동합니다. 매우 감사합니다. @ 레이 파워드 – Vetri

0

JS 파일이 제대로로드되지 않습니다. JS 파일을 응용 프로그램 JS 폴더에 넣고 JS의 상대 경로를 지정하면 코드가 올바르게 작동합니다.

+0

배 고플 고맙습니다, 감사하겠습니다. – Vetri

+0

나는 그 길을 바꿨다. 지금 일하고있다. 고마워. – Vetri