基于文本框的值来过滤模型这个问题可能完全没有意义,但我是MVC和Razor中的新手。如何使用Javascript(剃刀)
这里是我想要做的事:
- 我有一个简单的表“产品”在那里我retrrieve使用我的模型中的所有 值。产品表具有字段Id,名称,价格和开始日期 。
- 我传递的数据从控制器到 视图作为List
- 在我有一个自动完成字段(KendoUI)的视图,其中I型的产品
- 的 名称在事件处理程序 在AutoCoplete变化事件,我要检索的 “价格”已在自动完成文本框
下面被输入的产品为产品代码:
public class Product
{
public int ID { get; set; }
public string Name { get; set; }
public DateTime FirstRelease { get; set; }
public decimal Price { get; set; }
}
public class WidgetsDBContext : DbContext
{
public DbSet<Product> Products { get; set; }
}
我的视图(部分代码)的代码如下:
<div id="auto">
<p>Start typing</p>
<label for="productAutoComplete">Please select procuct:</label>
@(Html.Kendo().AutoComplete()
.Name("productAutoComplete")
.DataTextField("Name")
.BindTo(Model)
.Filter(FilterType.StartsWith)
.Placeholder("Select the product")
.HighlightFirst(true)
.Suggest(true)
)
<script>
function productAutoComplete_change() {
var gauge = $("#linearGauge").data("kendoLinearGauge");
@foreach (var p in Model) <==== HERE I WANT TO DO THE FILTERING
{
@: gauge.value(@p.Price);
}
}
$("#productAutoComplete").bind("change", productAutoComplete_change);
</script>
</div>
关心验证:如果我没有理解MVC和剃刀的基础好,那我是正确的认为的观点是呈现一次(在HTTP GET期间),因此我无法动态过滤Razor中的模型(但仅限于Javascript)?如果是的话,那么正确的做法是什么?
预先感谢您
Lefteris
请看这里:http://docs.kendoui.com/getting-started/using-kendo-with/aspnet-mvc/helpers/autocomplete/overview,这里http://docs.kendoui.com/api/framework/datasource,如果你想使用ServerFiltering。 –