作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 razor 渲染出 javascript 对象,如以下代码片段所示
@{
bool isFirst = true;
foreach (var qa in Model.Form.FormItems)
{
if (isFirst)
{
isFirst = false;
}
else
{
@:,
}
@:new QuestionAndAnswer(
@:@(qa.QuestionAnswerId),
@:@(qa.OrderNumber),
@:@(qa.ParentOrderNumber),
@:@(qa.IsHeader.ToJsonValue()),
@:@(qa.IsMandatory.ToJsonValue()),
@:@(qa.IsAlertable.ToJsonValue()),
@:@(qa.IsAlarmable.ToJsonValue()),
@:@(qa.IsKeyItem.ToJsonValue()),
@:@(qa.IsHiddenQuestion.ToJsonValue()),
@:new Question(
@:@(qa.Question.QuestionId),
@:@Html.Raw(qa.Question.IdCode.ToJsonValue()),
@:new OverridableFormItemText(
@:@(qa.Question.ItemText.DefaultFormItemTextId),
@:@Html.Raw(qa.Question.ItemText.DefaultText.ToJsonValue()),
@:@Html.Raw(qa.Question.ItemText.DefaultHelpText.ToJsonValue()),
..etc...
这使我的 cshtml 页面易于阅读且布局合理。
不幸的是,所有缩进都呈现给浏览器,使页面比需要的大 4 倍左右。 html 示例片段:
new QuestionAndAnswer(
34500,
2,
1,
false,
false,
false,
false,
false,
false,
new Question(
33955,
"123",
new OverridableFormItemText(
23879,
"Locality",
"",
null,
"",
""
)
),
new Answer(
22196,
"321",
4,
"MultipleChoiceSingleSelect",
有没有办法让我保留格式良好的服务器端代码,但将未格式化的版本(即没有缩进)发送到浏览器以节省带宽?
最佳答案
您可以重组您的 Razor 代码,这样您就不会在每一行中进出。像这样:
@{
bool isFirst = true;
}
@foreach (var qa in Model.Form.FormItems)
{
@(isFirst ? "" : ",")
@{
if (isFirst)
{
isFirst = false;
}
}
@* Everything from here on will be rendered as-is in the browser *@
new QuestionAndAnswer(
@(qa.QuestionAnswerId),
...
}
关于javascript - ASP.NET MVC : Razor - How to keep nicely indented code without sending a load of white space to the browser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7121371/
我是一名优秀的程序员,十分优秀!