Asp.net-Mvc-3
內聯標記塊不能嵌套。只允許一級內聯標記。MVC 剃須刀
我有一個帶有 Telerik 網格的模態視窗。但我需要在我的網格中渲染圖像,所以我知道我不能使用 @ 兩次。這是關於此問題的部落格文章連結
有人可以幫助我嗎?
我的程式碼
@{ Html.Telerik().Window() .Name("images") .Title("Select an Image") .Content(@<text> @(Html.Telerik().ComboBox() .Name("AjaxComboBox66") .AutoFill(true) .SelectedIndex(0) .BindTo(new SelectList(Model.PhotoFolders, "ID", "Name")) .Filterable(filtering => filtering.FilterMode(AutoCompleteFilterMode.StartsWith)) .HighlightFirstMatch(true) .ClientEvents(events => events .OnChange("onChange") ) ) @(Html.Telerik().Grid<AjaxImages>() .Name("Grid") .DataKeys(keys => keys.Add(c => c.ID)) .Columns(columns => { columns.Template( @<text> <img src='@item.Url' /> //Here is my error. I need helper function </text> ).Title("Picture"); }) .DataBinding(dataBinding => dataBinding.Ajax().Select("GetImages", "UserProducts")) .Scrollable(scrolling => scrolling.Enabled(true)) .Sortable(sorting => sorting.Enabled(true)) .Pageable(paging => paging.Enabled(true).PageSize(20).Total(100).Style(GridPagerStyles.NextPreviousAndNumeric)) .Filterable(filtering => filtering.Enabled(true)) .Groupable(grouping => grouping.Enabled(false)) .EnableCustomBinding(true) .Footer(true)) </text>) .Width(400) .Draggable(true) .Modal(true) .Visible(false) .Render(); }我的 GetImages 函式返回帶有“ID”和“URL”的 json。
在這些情況下,可以使用 MVC Razor 輔助函式。使用網格控制項定義創建輔助函式,在本例中為
RenderGrid().@helper RenderGrid() { @(Html.Telerik().Grid<AjaxImages>() .Name("Grid") .DataKeys(keys => keys.Add(c => c.ID)) .Columns(columns => { columns.Template( @<text> <img src='@item.Url' /> </text> ).Title("Picture"); }) .DataBinding(dataBinding => dataBinding.Ajax().Select("GetImages", "UserProducts")) }在視窗的內容定義中呼叫輔助函式。如果需要,可以多次呼叫輔助函式。
@{Html.Telerik().Window() .Name("images") .Title("Select an Image") .Content( @<text> @RenderGrid() </text>) .Width(400) .Draggable(true) .Modal(true) .Visible(false) .Render(); }