0

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 メソッドに渡す方法はありますか? もしそうなら、これの構文は何ですか?私のドロップダウンには、このメソッドに渡されたパラメーターに応じて異なるデータが表示されます。

助けてくれてありがとう。

4

1 に答える 1

0

このトピックに関するいくつかの情報はここにあります。公式ドキュメントには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"]})
)

1つの瞬間があります。ViewDataはサーバー側のコンテナーであるため、このアプローチを使用してコンボボックスの値を取得することはできません。代わりに、次のようなJavaScriptを使用する必要があります。

<script type="text/javascript">

function onComboBoxDataBinding(e) {
    e.data = $.extend({}, e.data, { customParam: "customValue"});
}

</script>

これがとにかくあなたを助けることを願っています。

于 2012-07-06T15:37:16.707 に答える