5 Stimmen

ASP.NET MVC: Razor - Wie man schön eingerückten Code behält, ohne eine Menge Leerraum an den Browser zu senden

Ich verwende Razor, um Javascript-Objekte zu rendern, wie im folgenden Codeschnipsel gezeigt

@{
    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...

Das macht meine cshtml-Seiten leicht lesbar und übersichtlich.

Leider werden alle Einzüge in den Browser übertragen, so dass die Seite etwa 4x so groß ist, wie sie sein müsste. Beispiel Schnipsel der 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",

Gibt es eine Möglichkeit, wie ich den schön formatierten serverseitigen Code beibehalten, aber eine unformatierte Version (d.h. ohne Einrückungen) an den Browser senden kann, um Bandbreite zu sparen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X