Разница между использованием @Html.Partial("pv2",Model)
и @Html.Partial("pv3",Model.FormName)
пренебрежимо.
Когда asp.net mvc обслуживает страницу для вас, страница уже должна быть скомпилирована (в зависимости от настроек, версии asp.net mvc и т. Д., Вы можете предварительно скомпилировать все представления при запуске или скомпилировать каждое представление во время первого вызова).
Компиляция страницу pv1.cshtml выведу следующий код (упрощенно):
public override void Execute() {
Layout = null;
BeginContext("~/Views/Test/pv1.cshtml", 79, 2, true);
WriteLiteral("\r\n");
EndContext("~/Views/Test/pv1.cshtml", 79, 2, true);
BeginContext("~/Views/Test/pv1.cshtml", 82, 26, false);
Write(Html.Partial("pv2", Model));
EndContext("~/Views/Test/pv1.cshtml", 82, 26, false);
BeginContext("~/Views/Test/pv1.cshtml", 108, 2, true);
WriteLiteral("\r\n");
EndContext("~/Views/Test/pv1.cshtml", 108, 2, true);
BeginContext("~/Views/Test/pv1.cshtml", 111, 35, false);
Write(Html.Partial("pv3", Model.FormName));
EndContext("~/Views/Test/pv1.cshtml", 111, 35, false);
}
Вы можете видеть, что оба вызова к @ Html.Partial генерировать тот же код для выполнения веб-странице, который будет вызывать скомпилированные представления pv2
и pv3
код для генерации html, время выполнения которого будет зависеть от размера просмотров.
В большинстве случаев вы не хотите думать о том, как быстро выполняется компиляция/исполнение страницы, потому что это очень быстро. Включение медленного кода в представления сделает медленное выполнение заметок - сделайте весь «медленный» код в контроллере - никогда не добавляйте доступ к DB, вызовы api и подобные вещи в ваш .cshtml, и ваш проект должен преуспеть.
В чем проблема, с которой вы пытаетесь справиться? Какая стоимость? Стоимость обслуживания, стоимость строительства, стоимость компиляции? –
Я имею в виду расходы на запуск, проект основан на сети, поэтому важно, чтобы клиент чувствовал скорость на веб-страницах. – user2830448