这是我的ASP.NET MVC项目中的编辑器模板:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%= Html.Telerik().DropDownList()
.Name(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))
.DataBinding(binding => binding.Ajax().Select("GetTypeDataforRow","MyController"))
%>
我在控制器中使用GetTypeDataforRow方法来检索组合框的数据。有没有办法将参数传递给GetTypeDataforRow方法?如果是这样的话语法是什么?我的下拉菜单将显示不同的数据,具体取决于传入此方法的参数。
提前感谢您的帮助。
答案 0 :(得分:0)
您可以在here找到有关此主题的一些信息。似乎官方文档没有DropDownList分支,但ComboBox会做这些事情。它说要使用ajax绑定将参数传递给控制器,你应该这样做:
.DataBinding(dataBinding => dataBinding
//Ajax binding
.Ajax()
//The action method which will return JSON and its arguments
.Select("_AjaxBinding", "Home", new {id = (string)ViewData["id"]})
)
有一刻:您无法使用此方法获取组合框的值,因为ViewData是服务器端容器。相反,你必须使用这样的JavaScript:
<script type="text/javascript">
function onComboBoxDataBinding(e) {
e.data = $.extend({}, e.data, { customParam: "customValue"});
}
</script>
希望这对你有所帮助。