Как вызвать функцию js в cs html вид asp mvc? - PullRequest
0 голосов
/ 10 июля 2020

У меня есть эта javascript функция, которая описывает сечение круга dr aws на основе его координат центра, радиуса, начального и конечного угла. Он отлично работает, если я просто сохраню его в текстовом файле с расширением. html и открою в браузере. Однако, если я помещу это в .cs html view внутри моего проекта as pnet mvc, тогда это не сработает.

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <svg width="700" height="700" viewBox="0 0 700 700">
      <path id="arc1" fill="none" stroke="#446688" stroke-width="4"/>
  </svg>
</body>

<script type = "text/javascript" charset = "utf-8">
    function polarToCartesian(centerX, centerY, radius, angleInDegrees) {
      var angleInRadians = (angleInDegrees-90) * Math.PI / 180.0;

      return {
        x: centerX + (radius * Math.cos(angleInRadians)),
        y: centerY + (radius * Math.sin(angleInRadians))
      };
    }

    function describeArc(x, y, radius, startAngle, endAngle){

        var start = polarToCartesian(x, y, radius, endAngle);
        var end = polarToCartesian(x, y, radius, startAngle);

        var largeArcFlag = endAngle - startAngle <= 180 ? "0" : "1";

        var d = [
            "M", start.x, start.y, 
            "A", radius, radius, 0, largeArcFlag, 0, end.x, end.y
        ].join(" ");

        return d;       
    }

    window.onload = function() {
      document.getElementById("arc1").setAttribute("d", describeArc(300, 300, 200, 90, 360));
    };
</script>
</html>

Я уже пытался использовать $(document).ready = function () instead of window.onload = function() но не повезло.

Это то, что я упоминал в теле _Layout.cs html:

  <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha384-ZvpUoO/+PpLXR1lu4jmpXWu80pZlYUAfxl5NsBMWOEPSjUn/6Z/hRTt8+pR6L4N2" crossorigin="anonymous"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>

1 Ответ

0 голосов
/ 10 июля 2020

Я решил эту проблему, распаковав сценарий в файл. js, а затем сослался на него в теле страницы _Layout.cs html под всеми другими ссылками на скрипт.

...