【发布时间】:2020-09-07 16:01:56
【问题描述】:
我有一个 Kendo DropDown 列表,它向它的读取请求发送一个附加参数。比如
@(Html.Kendo().DropDownList()
.Name("MyDropdown")
.HtmlAttributes(new { style = "width:100%" })
.Filter("contains")
.Value(ID)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Dropdown_Read", "Dropdowns", new { User = 1});
});
})
)
这工作正常,正如预期的那样,将值 1 传递给控制器并执行读取。
根据用户与其他元素的交互,可以再次触发此读取,我已经通过 Javascript 完成了:
var user = $(#UserList).val(); // 2 for example
$('#MyDropdown').data('kendoDropDownList').dataSource.read({ User: user});
这会触发读取功能,但用户值仍以 1 而不是新值发送。对网络活动的检查表明:
请求网址: https://localhost:8080/Dropdowns/Dropdown_Read?User=1&User=2
似乎 User 属性定义了两次,发送到控制器,然后控制器获取第一个值,即原始默认值。有没有办法覆盖这个值并将新值发送到控制器?
【问题讨论】:
标签: javascript c# asp.net-mvc kendo-ui kendo-asp.net-mvc