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.SLaksBên trong bối cảnh đánh dấu, bạn cần bao quanh mã với các khối mã [
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
var data = [];
@foreach [var r in Model.rows] {
data.push[[ @r.UnixTime * 1000, @r.Value ]];
}
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ẻ
1 cho cả mã CSHTML với JavaScript11 gold badges95 silver badges102 bronze badges
var data = [];
@foreach [var r in Model.rows] {
data.push[[ @r.UnixTime * 1000, @r.Value ]];
}
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