Hướng dẫn can i use javascript in razor? - tôi có thể sử dụng javascript trong dao cạo râu không?

Tôi khá bối rối với cách trộn dao cạo và js. Đây là chức năng hiện tại mà tôi bị mắc kẹt với:



        var data = [];

        @foreach [var r in Model.rows]
        {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }

Nếu tôi có thể khai báo mã C# với



        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
0 và mọi thứ khác là mã JS - đây sẽ là những gì tôi đang có sau:



        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }

Phương pháp tốt nhất để đạt được điều này là gì?

Hỏi ngày 10 tháng 4 năm 2011 lúc 21:45Apr 10, 2011 at 21:45

Kyle Brandtkyle BrandtKyle Brandt

25.7K34 Huy hiệu vàng122 Huy hiệu bạc162 Huy hiệu đồng34 gold badges122 silver badges162 bronze badges

7

Sử dụng



        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
1:



   var data = [];

   @foreach [var r in Model.rows]
   {
      
            data.push[[ @r.UnixTime * 1000, @r.Value ]];
      
   }

Đã trả lời ngày 10 tháng 4 năm 2011 lúc 21:54Apr 10, 2011 at 21:54

6

Bên trong một khối mã [ví dụ:



        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
2], bạn cần đánh dấu đánh dấu [hoặc, trong trường hợp này là JavaScript] với thẻ


        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
3 hoặc


        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
1.

Bên trong bối cảnh đánh dấu, bạn cần bao quanh mã với các khối mã [



        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
5 hoặc


        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
6, ...]

Đã trả lời ngày 10 tháng 4 năm 2011 lúc 21:54Apr 10, 2011 at 21:54

Bên trong một khối mã [ví dụ:



        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
2], bạn cần đánh dấu đánh dấu [hoặc, trong trường hợp này là JavaScript] với thẻ


        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
3 hoặc


        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
1.SLaks

Bên trong bối cảnh đánh dấu, bạn cần bao quanh mã với các khối mã [



        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
5 hoặc


        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
6, ...]174 gold badges1880 silver badges1947 bronze badges

3

Slaksslaks



   var data = [];

   @foreach [var r in Model.rows]
   {
       @:data.push[[ @r.UnixTime * 1000, @r.Value ]];
   }

850K174 Huy hiệu vàng1880 Huy hiệu bạc1947 Huy hiệu đồng@:

Bạn cũng chỉ có thể sử dụngMay 23, 2014 at 9:48

Ghi chú @:


    var data = @Json.Encode[Model]; // !!!! export data !!!!

    for[var prop in data]{
      console.log[ prop + " "+ data[prop]];
    }

Đã trả lời ngày 23 tháng 5 năm 2014 lúc 9:48

@Html.Raw[Json.Encode[Model]];

Không bao giờ trộn lẫn nhiều ngôn ngữ hơn.Apr 29, 2016 at 13:49

Trong trường hợp có vấn đề, bạn cũng có thể thửMertuarez

Đã trả lời ngày 29 tháng 4 năm 2016 lúc 13:497 silver badges24 bronze badges

4

Mertuarezmertuarez

8917 Huy hiệu bạc24 Huy hiệu đồng

Click me @section scripts { @Html.Partial["Scripts"] }

Scripts.cshtml


    var url = "@Url.Action["Index", "Home"]";

    $[document].ready[function[] {
        $["#btnLoad"].click[function[] {
            $.ajax[{
                type: "POST",
                url: url ,
                data: {someParameter: "some value"},
                contentType: "application/json; charset=utf-8",
                dataType: "json",

                success: function[msg] {
                    $["#Result"].text[msg.d];
                }
            }];
        }];
    }];

Một phương pháp không thông thường để tách JavaScript khỏi chế độ xem, nhưng vẫn sử dụng dao cạo trong đó là tạo một tệp



        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
7 và đặt javascript/dao cạo hỗn hợp của bạn ở đó.Jan 21, 2020 at 7:19

Index.cshtmlJoel Wiklund

Đã trả lời ngày 21 tháng 1 năm 2020 lúc 7:192 gold badges14 silver badges22 bronze badges

1

Joel Wiklundjoel Wiklund

1.5232 huy hiệu vàng14 Huy hiệu bạc22 Huy hiệu đồng

Đây là cách của tôi để hack dao cạo và sử dụng JavaScript mà không làm suy yếu IntelliSense.

Rõ ràng là bạn nên sử dụng



        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
1 nhưng với "nhanh chóng": niềng răng đôi trước đó.

Đây là những gì xảy ra nếu sử dụng một nẹp đơn:

Đây là những gì xảy ra nếu một vài niềng răng được sử dụng:

Bây giờ hằng số và biến đã được công nhận. Nó tốt hơn, nhưng không tốt! Vẫn còn biểu tượng "ít hơn" gây nhầm lẫn cho Intellisense khiến nó nghĩ rằng sau đây là tên của một thẻ. Dấu "ít hơn" được báo hiệu là lỗi và từ đây có các lỗi phân tích cú pháp là "console.log" cho thấy. Bạn cần thêm một cái gì đó làm im lặng Intellisense và không được trả lại trong mã JS cuối cùng tại thời điểm biên dịch.

Giải pháp: Sử dụng nhận xét này sau "ít hơn":



        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
9

Đây là kết quả

Thật kỳ lạ khi thấy, nhưng nó hoạt động như bình thường.21 gold badges75 silver badges127 bronze badges

Dharman ♦Nov 10, 2021 at 11:34

28.3K21 Huy hiệu vàng75 Huy hiệu bạc127 Huy hiệu đồngtedebus

Đã trả lời ngày 10 tháng 11 năm 2021 lúc 11:3413 silver badges20 bronze badges

Tedebustedebus

88913 Huy hiệu bạc20 Huy hiệu Đồng

Bạn có thể sử dụng thẻ



        var data = [];

        @foreach [var r in Model.rows] {
                data.push[[ @r.UnixTime * 1000, @r.Value ]];
        }
1 cho cả mã CSHTML với JavaScript11 gold badges95 silver badges102 bronze badges

Suraj RaoNov 26, 2018 at 11:21

2

29.2k11 Huy hiệu vàng95 Huy hiệu bạc102 Huy hiệu đồng

function hideSurveyReminder[] {
       @Session["_isSurveyPassed"] = true;
    }

Đã trả lời ngày 26 tháng 11 năm 2018 lúc 11:21

function hideSurveyReminder[] {
       False = true;
    }

Bọc mã dao cạo của bạn trong @ {} Khi bên trong tập lệnh JS và nhận thức được chỉ sử dụng @ Đôi khi nó không hoạt động:

Điều này sẽ sản xuấtNov 10, 2015 at 2:34

Bạn có thể sử dụng JavaScript trong dao cạo?

Bạn có thể gọi các phương thức JavaScript từ các trang Blazor với sự trợ giúp của JavaScript interop bằng cách đưa ijsruntime phụ thuộc vào trang dao cạo. Sau đó giới thiệu tập lệnh trong trang HTML của ứng dụng Blazor. Kiểm tra liên kết này để biết thêm thông tin.. Then refer the script in the HTML page of the blazor application. Check this link for more information.

Làm cách nào để chạy JavaScript trên trang dao cạo?

Gọi hàm JavaScript từ chế độ xem dao cạo để bao gồm hàm JavaScript, nó đơn giản như bao gồm một thẻ và xác định hàm bên trong khối tập lệnh.Bây giờ, để gọi chức năng, thêm một sự kiện title trên siêu liên kết tên nhân viên và gọi chức năng.include a tag and define the function inside the script block. Now, to call the function, add an title event on the employee name hyperlink and call the function.

Bạn đặt JavaScript ở đâu trên trang dao cạo?

Một tệp JS cho thành phần chỉ mục được đặt trong thư mục trang [trang/index.razor.js] bên cạnh thành phần chỉ mục [trang/index.Razor].Pages folder [ Pages/Index. razor. js ] next to the Index component [ Pages/Index. razor ].

Các trang dao cạo có thể thay thế JavaScript không?

Không, dao cạo không thể dễ dàng thay thế sử dụng nhiều JavaScript [nghĩa là một ứng dụng dựa trên web] mà không cần viết lại hoàn toàn chức năng chuyển ứng dụng HTML từ phía máy khách sang phía máy chủ.Bạn có thể tốt nhất để học JavaScript hoặc xác định các yêu cầu cơ bản là gì và viết lại trong dao cạo. [i.e. a web based app] without a complete rewrite of the Html app moving functionality from the client side to the server side. You are probably best to learn javascript or determine what the underlying requirements were and re-write in Razor.

Bài Viết Liên Quan

Chủ Đề