在我的视图页面中,我有一个按钮。当我点击按钮时,我想打开窗口。窗口有一些tabtrip,在tabstrip中我想显示一个网格并将参数传递给网格。 kendo UI允许我这样做吗?
Kendo Window - 如何从我的主视图将参数传递给_TabStrip?(如参数是&#34; paraA&#34;字符串) < / p>
@(Html.Kendo().Window()
.Name("window")
.Title("About Alvar Aalto")
.Content(@Html.Partial("_TabStrip").ToHtmlString())
.Draggable()
.Resizable()
.Width(600)
.Actions(actions => actions.Pin().Minimize().Maximize().Close())
.Events(ev => ev.Close("onClose"))
)
_TabStrip (部分视图) - 如何将_TabStrip中的para传递给_Grid?(如参数是&#34; paraA&#34;主视图中的字符串)
@(Html.Kendo().TabStrip()
.Name("tabstrip")
.SelectedIndex(0)
.Items(items =>
{
items.Add()
.Text("Paris")
.Content(@Html.Partial("_Weather").ToHtmlString());
items.Add()
.Text("New York")
.Content(@Html.Partial("_Grid").ToHtmlString());
})
)
_Weather (部分视图)
<div class="weather">
<h2>17<span>ºC</span></h2>
<p>Rainy weather in Paris.</p>
</div>
<span class="rainy"> </span>
_Grid (部分视图) - 如何从_tabStrip获取参数?(例如参数是&#34; paraA&#34;主视图中的字符串)
@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.CustomerViewModel>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(c => c.ContactName).Width(140);
columns.Bound(c => c.ContactTitle).Width(190);
columns.Bound(c => c.CompanyName);
columns.Bound(c => c.Country).Width(110);
})
.HtmlAttributes(new { style = "height: 380px;" })
.Scrollable()
.Groupable()
.Sortable()
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("Customers_Read", "Grid").Data("GetParaFromMainView"))
)
)
//How to get the parameter from main View
function GetParaFromMainView(){
}
答案 0 :(得分:1)
您可以传递参数。但它需要对您的观点进行一些更改。以同样的方式从控制器传递模型,它是相同的。 我将写出需要更改或添加的行。
此行打开窗口:
.Content(@Html.Partial("_TabStrip").ToHtmlString())
要:
.Content(@Html.Partial("_TabStrip",paraA).ToHtmlString())
在_TabStrip.cshtml
视图中,您需要在顶部添加模型:
@model System.String //or just string
... 并改变这一行:
.Content(@Html.Partial("_Grid").ToHtmlString());
要
.Content(@Html.Partial("_Grid",Model).ToHtmlString());
在您的_Grid.cshtml
中,将模型添加到顶部
@model System.String // or just string
并更改此行:
.Read(read => read.Action("Customers_Read", "Grid").Data("GetParaFromMainView"))
)
到
.Read(read => read.Action("Customers_Read", "Grid").Data(Model))
)
我希望能帮助您解决问题。使用@Html.Partial
的重载来传递您的cas字符串模型。试试让我知道。