0

レンダリング パーシャルを実行する方法は理解していますが、新しいデータ Razor 構文で Web グリッドを更新する方法を教えてください。

$.get( '@Url.Action("詳細","ユーザー", new { id = Model.ID } )',
   function(data) { $('#detailsDiv').replaceWith(data); });

ユーザーコントローラーには、次のことを行う details という名前のアクションがあります。

public ActionResult Details( int id ) {    
 var model = ...ID を使用してデータベースからユーザーを取得...     
 return Partial( "UserDetails", モデル ); }

最終結果は次のようになります

同様に var grid = new WebGrid(source:Model.UserDetails,....

4

1 に答える 1

1

あなたの partialView で、グリッド宣言を次のように変更します。

var grid = new WebGrid(source: Model,
//defaultSort: "DataId",
ajaxUpdateCallback: "GridUpdate",
ajaxUpdateContainerId: "grid"
rowsPerPage: 50); 

.GetHtml メソッドに以下があることを確認してください。

@grid.GetHtml(
htmlAttributes: new { id = "grid" }, 

//.. 残りのオプションはここにあります ) そして、以下を Index.cshtml に追加します

<script type="text/javascript">
function GridUpdate(data) {
    $('#gridview').html(data);
}
</script>

忘れずに

@{ Layout = null; }

あなたのparialでwebgridだけを取得します(テンプレート全体なしで)

于 2012-01-04T00:13:39.877 に答える