2016-01-04 12 views
5

私は、テーブル内のいくつかの部分的なビューでViewModelを表示するMVCプロジェクトに取り組んでいます。私はこのように、ユーザがテーブルの表示方法を変更することが可能なコントロールを持っている:クライアント側でページの配置を並べ替えるのに最適な方法

<table> 
<tr> 
    <td> 
    partial view 1 partial view 2 
    </td> 
</tr> 
<tr> 
    <td> 
    partial view 3 partial view 4 
    </td> 
</tr> 
</table> 

または

<table> 
<tr> 
    <td> 
    partial view 1 
    </td> 
</tr> 
<tr> 
    <td> 
    partial view 2 
    </td> 
</tr> 
<tr> 
    <td> 
    partial view 3 
    </td> 
</tr> 
<tr> 
    <td> 
    partial view 4 
    </td> 
</tr> 
</table> 

ユーザーがビューの表示方法を変更したいときはいつでも、彼がしなければなりませんfromのsubmitボタンをクリックすると、アプリケーションはサーバにリクエストを行い、結果を取得し、フラグ(TableDisposition = 1または2)に従っていくつかのdivをロードします。

私はこれを行う最良の方法ではないことを知っていますが、クライアント側のコーディング(javascript/jquery)に関する私の知識の欠如は、私がこれをより効率的な方法で行うことを不可能にしています。

ご了承ください。

EDIT:コメントに記載されています。

+0

ユーザーが[送信]ボタンをクリックすると結果が変わりますか?それとも同じ結果を返しますか? –

+0

ユーザーが[送信]ボタンを使用して新しい要求を行うと、結果が変更されます。これは検索/詳細表示のために期待されています – Rambo3

+1

新しいボタンを押して表示を変更するだけです。送信をクリックしてdivを1つだけ表示すると、両方のdivを値で埋めてください。ユーザーがボタンをクリックして表示を変更すると、現在のdivを非表示にして他のdivを表示します。 –

答えて

1

最初に、2つのテーブルにviewModelをロードし始めました。各テーブルは絶対的な位置付けでdivにロードされました。それから私は、これらのテーブルのいずれかを非表示にする機能を作った:

$(function() { 
     $("#divTable1").css('visibility', 'hidden'); 
}); 

は最後に、私はボタンを押すことによってトリガーされる機能作ら:

$("#btnAlternateView").click(function() { 
    if ($("#divTable2").css('visibility') == 'hidden') { 
     $("#divTable2").css('visibility','visible'); 
     $("#divTable1").css('visibility', 'hidden'); 
    } 
    else { 
     $("#divTable2").css('visibility','hidden'); 
     $("#divTable1").css('visibility', 'visible'); 
    } 
}); 

をそして、それはそれでした。魅力のように動作します。

関連する問題