最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

javascript - How to use of @: in .cshtml - Stack Overflow

matteradmin5PV0评论

For example, I display some text in the view:

@:<link href="/Content/stylesheet.css" rel="stylesheet" type="text/css" /> 

@:<script src="/bundles/scripts" type="text/javascript"></script>

What is @: and when and how should I use it?

For example, I display some text in the view:

@:<link href="/Content/stylesheet.css" rel="stylesheet" type="text/css" /> 

@:<script src="/bundles/scripts" type="text/javascript"></script>

What is @: and when and how should I use it?

Share Improve this question edited Dec 15, 2015 at 19:37 Andy Hayden 377k109 gold badges639 silver badges541 bronze badges asked Dec 15, 2015 at 19:25 Rahul ModiRahul Modi 83813 silver badges21 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 5

This operator is useful in conjunction with other Razor server side operators when you want to output something as a literal text.

For example:

@if (model.Foo) {
    @:Some text to be written directly.
}

You can't just write this because it would produce an error:

@if (model.Foo) {
    Some text to be written directly.
}

So basically for your example where the output is already HTML tags you don't need this operator. But when you want to mix some server side Razor markup with an explicit output then you could use it. You could also use the special <text> tag to achieve the same effect:

@if (model.Foo) {
    <text>
    Some text to be written directly.
    </text>
}

This will trick the Razor parser to treat the text that you want to output to the HTML as literal and not consider it as server side code.

Another example. Let's suppose that you want to output some HTML tag that doesn't have a corresponding opening tag:

@if (model.Foo) {
    @:</div>
}

If you just wrote this:

@if (model.Foo) {
    </div>
}

then the Razor parser would have plained as it wouldn't know about an opening div tag.

Post a comment

comment list (0)

  1. No comments so far