admin管理员组

文章数量:1024664

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.

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.

本文标签: javascriptHow to use ofin cshtmlStack Overflow