こんにちは皆私はasp.netでC#で構築された最初のMVC 3のWebサイトで作業しています。データベースを表示するテーブルを展開または縮小するのに45秒以上かかるので、ウェブサイトの速度に問題があります。MVC asp.netのWebサイトをどのように高速化できますか?
私はキャッシュを使用する方法を理解しようとしているが、私は管理者が必要なときにデータが最新でないことを心配して、それに
を私のjqueryのを持っているreportTemplateための私のコードが含まれています日付データ
@{
ViewBag.Title = "ReportTemplate";
}
<script language="javascript" type="text/javascript">
$(document).ready(function() {
toggle = function (className) {
$('.' + className).toggle('fast');
}
});
</script>
<h2>ReportTemplate</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
INVESTMENT AREA
</th>
<th>
MAJOR PROGRAM
</th>
<th>
MANAGER
</th>
<th>
PROJECT
</th>
<th>
SPA
</th>
<th>
PA
</th>
</tr>
@{
string investment_area = "";
string major_program = "";
string manager = "";
string project = "";
string spa = "";
string pa = "";
string iaClass = "";
string mpClass = "";
string manClass = "";
string pjClass = "";
string spaClass = "";
string paClass = "";
}
@foreach (var item in Model)
{
iaClass = item.investment_area.Substring(0, 2);
mpClass = item.major_program;
manClass = item.manager;
pjClass = item.project;
spaClass = item.spa;
paClass = item.pa;
if (investment_area != item.investment_area)
{
<tr>
<td class = "ndeTable ui-widget-header pointer border" onclick="toggle('@iaClass')" colspan="6">
@item.investment_area
</td>
</tr>
}
investment_area = item.investment_area;
if (major_program != item.major_program)
{
<tr class="@iaClass">
<td style = "width :200px"></td>
<td class = "ndeTable pointer border" onclick="toggle('@mpClass')" colspan="5">
@item.major_program
</td>
</tr>
}
major_program = item.major_program;
if (manager != item.manager)
{
<tr class = "@iaClass @mpClass">
<td></td>
<td style = "width : 100px"></td>
<td class = "ndeTable pointer border" onclick="toggle('@manClass')" colspan="4">
@item.manager
</td>
</tr>
}
manager = item.manager;
if (project != item.project)
{
<tr class = "@iaClass @mpClass @manClass">
<td></td>
<td></td>
<td style = "width : 200px"></td>
<td class = "ndeTable pointer border" onclick = "toggle('@pjClass')" colspan="3">
@item.project
</td>
</tr>
}
project = item.project;
if (spa != item.spa)
{
<tr class = "@iaClass @mpClass @manClass @pjClass">
<td></td>
<td></td>
<td></td>
<td style = "width : 325px"></td>
<td class = "ndeTable pointer border" onclick = "toggle('@spaClass')" colspan = "2">
@item.spa
</td>
</tr>
}
spa = item.spa;
<tr class = "@iaClass @mpClass @manClass @pjClass @spaClass">
<td></td>
<td></td>
<td></td>
<td></td>
<td style = "width: 200px"></td>
<td class = "ndeTable pointer border" onclick = "toggle('@paClass')" colspan = "1">
@item.pa
</td>
</tr>
pa = item.pa;
}
</table>
まで私はその間にコードを最適化しようとし続けるつもりですが、誰もが、私が使用できる任意のヒントやトリックを持っている場合、これは過去のカップルのための私を悩まされているように私は非常に感謝するでしょう小規模なデータベースの場合、日と45秒はばかげています。あなたの時間をありがとう。 乾杯、 James
「展開/縮小」とはどういう意味ですか? MVCコードは、JQuery UIアクティビティではなくページ読み込み速度にのみ影響します。 – Lazarus
投資領域のセルをクリックすると、その投資領域の子供たちは、主要プログラムマネージャーのスパなどを表示または非表示にするために拡大または縮小することになっています...これが私の最初の質問である限り、あなたの素早い対応のために依頼していただき、ありがとうございました。 – Goldentp
jQueryが呼び出しているトグル機能であると誰も思っていますが、それはサイトの一部であり、すべてが本当に遅くなるからです。今のように極端に遅くすることなく、投資エリアの子供たちを拡大したり収縮させたりする別の方法はありますか? – Goldentp