MVC3とTelerikグリッドを使用。Telerik MVCグリッド - ClientTemplate
私はPhil Haacks Hidden Indexer Input For Modelを使用してフォームの値を戻しています。唯一の問題は、のDataBinderとして必要性を使用していたすべてのテンプレートをアヤックスを使用した場合、対応するClientTemplateを持っているということです。これは私が問題を抱えているところです。どのようにこれを挿入し、イテレータをClientTemplateに挿入しますか?文字列が必要ですか?
これは私がページを実行するとき、私は「イーター」は定義されていないというエラーを取得...無駄にしようとしたものです。
<% int Iter = 0; %>
<% Html.Telerik().Grid(Model.TransferStudents)
.Name("TransferStudents")
.Columns(columns =>
{
columns.Bound(o => o.Name)
.Width(250);
columns.Template(o =>{%>
<%: Html.HiddenFor(model => Model.TransferStudents[Iter].StudentId)%>
<%: Html.CheckBoxFor(model => Model.TransferStudents[Iter].Transfer)%>
<%})
.ClientTemplate("<input type='hidden' id='StudentId' value='<#= StudentId #>' /><input type='checkbox' name='Transfer' <#= Transfer? \"checked='checked'\" :\"\" #> />")
.HtmlAttributes(new { @style = "text-align: center;" })
.HeaderHtmlAttributes(new { @style = "text-align: center;" })
.HeaderTemplate("Check All <input type='checkbox' id='chkAll' />")
.Width(105);
columns.Template(o =>{ %><% Iter = Iter + 1; %><%})
.ClientTemplate("<# Iter = Iter + 1; #>")
.Hidden();
columns.Template(o =>{ %><%: Html.HiddenIndexerInputForModel()%><% })
.ClientTemplate("<#= Html.HiddenIndexerInputForModel() #>")
.Hidden();
})
.DataBinding(dataBinding => dataBinding.Ajax().OperationMode(GridOperationMode.Server).Select("_Transfer", "Administration"))
.Pageable(paging => paging.Style(pagerStyles).PageSize(2, new[] { 5, 10, 15, 25, 50, 200 }).Position(GridPagerPosition.Top).Total((int)ViewData["total"]))
.Sortable()
.NoRecordsTemplate("<p class='instructions'>No Records Available</p>")
.Render();
%>
任意のポインタが評価されます。
(O => {%><%イーター=イーター+ 1;%><%}) .ClientTemplate( "<#" +イーター++ + ";#>" ) 。隠し(); columns.Template(0 => {%><%:Html.HiddenIndexerInputForModel()%><%}) .ClientTemplate( "<#>" + Html.HiddenIndexerInputForModel()+ "#>") .Hidden (); – Greg