我有下一个场景:
我正在使用淘汰赛(2.1.0 版)和 ASP MVC.NET,所以在一个特定的点上,我的控制器调用了一个新视图。此视图在下一次调用时呈现局部视图:
<div id="productSeriesNonSocks">
@{
Html.RenderPartial("~/Views/SalesOrderManagement/GetAvailableProductSeriesNonSocks.cshtml", Model);
}
</div>
控制器使用带有一些属性的 viewModel (Model) 调用视图,因此上述调用将整个模型发送到局部视图。
在局部视图中,我可以使用如下简单语句访问模型属性:
Available season type: @Model.SeasonType
问题从这里开始......局部视图有它自己的淘汰模型:
<script type="text/javascript">
$(function () {
//activates KO
ko.applyBindings(productSeriesNonSocksModel);
GetDataFromModels();
});
var productSeriesNonSocksModel = {
AvailableProductSeriesNonSocks: ko.observableArray([]),
selectedProdSeries: ko.observable(),
seasonType: ko.observable()
};
function GetDataFromModels() {
$.get('/SalesOrderManagement/GetAvailableProductSeriesNonSocks', { seasonType: this.seasonType() }, function (data) {
productSeriesNonSocksModel.AvailableProductSeriesNonSocks(data.AvailableProductSeriesNonSocks);
});
}
</script>
GetDataFromModels() 函数应调用控制器中的方法,以 seasonType 作为参数,以便检索正确的数组并将其放在 AvailableProductSeriesNonSocks 数组中。这里的问题是我不知道如何将值从属性模型(在本例中为 @Model.SeasonType)传递给淘汰模型以调用控制器中的函数(productSeriesNonSocksModel.seasonType)。
我试图通过以下方式传递值:
seasonType: ko.observable(@Model.SeasonType)
或者
seasonType: @Model.SeasonType
但它不起作用。任何想法将模型属性值传递给敲除属性值以便使用 $.get(...) 进行调用?
澄清一下,我不能只问值,因为该值(SeasonType)是用户在前一个视图中选择的。
先感谢您。