我正在使用ASP.NET MVC架构。点击按钮时有一个telerik窗口,工作正常。代码如下 -
<% Html.Telerik().Window()
.Name("Search")
.Visible(false)
.Title("Select Users")
.Content(() => {%>
<% using (Html.BeginForm("GetUsers", "Administration", FormMethod.Post,
new{id ="users-form"}))
{%>
<p class="note">Mention the Users name to display information</p>
<label for="username">Name:</label>
<%= Html.TextBox("username") %>
<div class="form-actions">
<button type="button" class="bUsername">Search</button>
</div>
<% } %>
<%})
.Width(400)
.Modal(true)
.Render();%>
但是当我尝试在telerik窗口的内容中添加telerik网格时,它会给我错误..代码如下
<%= Html.Telerik().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
columns.Bound(o => o.OrderID).Width(100);
columns.Bound(o => o.ContactName).Width(200);
columns.Bound(o => o.ShipAddress);
columns.Bound(o => o.OrderDate).Format("{0:MM/dd/yyyy}").Width(120);
})
.DataBinding(dataBinding =>
{
dataBinding.Server().Select("FirstLook", "Grid", new { ajax =
ViewData["ajax"] });
dataBinding.Ajax().Select("_FirstLook",
"Grid").Enabled((bool)ViewData["ajax"]);
})
.Scrollable(scrolling => scrolling.Enabled((bool)ViewData["scrolling"]))
.Sortable(sorting => sorting.Enabled((bool)ViewData["sorting"]))
.Pageable(paging => paging.Enabled((bool)ViewData["paging"]))
.Filterable(filtering => filtering.Enabled((bool)ViewData["filtering"]))
.Groupable(grouping => grouping.Enabled((bool)ViewData["grouping"]))
.Footer((bool)ViewData["showFooter"])
%>
错误:.Content(()=&gt; {%&gt; ----委托System.Func不接受0个参数。
所以想问一下我们可以在模态窗口内部使用网格,如果是,那么如何实现它,如果我们不能解决它的替代方案呢?
答案 0 :(得分:2)
在窗口中显示网格时不应该有任何问题。以下代码使用Northwind数据库中的Customer实体,对我来说效果很好:
<% Html.Telerik().Window()
.Name("TelerikWindow")
.Title("Grid in Window")
.Draggable(true)
.Modal(true)
.Content(() =>
{ %>
<%= Html.Telerik().Grid(Model)
.Name("TelerikGrid")
.Columns(columns =>
{
columns.Bound(c => c.CustomerID);
columns.Bound(c => c.CompanyName);
columns.Bound(c => c.ContactName);
columns.Bound(c => c.Address);
columns.Bound(c => c.City);
})
.Pageable(pageSettings => pageSettings.Enabled(true).PageSize(10))
%>
<%})
.Render();
%>
我会仔细检查您的代码,以确保您正确设置Window的内容,因为这似乎是问题的来源。
答案 1 :(得分:1)
您可以使用委托方法或直接输出在窗口内定义网格:
MVC 2:
<% Html.Telerik().Window()
...
.Content(() =>
{%>
<%= Html.Telerik().Grid(***)
...
%>
<%})
.Render();
%>
MVC 3 Razor:
@(Html.Telerik().Window()
...
.Content(
@<text>
@(Html.Telerik().Grid<***>()
...
)
</text>
)
)
另见: