gpt4 book ai didi

javascript - ASP.NET MVC : Razor - How to keep nicely indented code without sending a load of white space to the browser

转载 作者:搜寻专家 更新时间:2023-11-01 04:33:42 26 4
gpt4 key购买 nike

我正在使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com