誰かが助けてくれることを願って、私はここで少し問題を抱えています:
私はかみそりスクリプトでhtml select要素を動的に設定しています.onChangeは、この投稿された値を取得したいと考えています。ページが更新されているのでポストバックしていますが、選択の値を取得していないようです。私が知っている理由は、カテゴリを渡してそれをフィルタリングしているからです。このフィルタリングは、URL のクエリ文字列を手動で変更して投稿すると機能します。
かみそりのスクリプト:
@using umbraco.MacroEngines
@inherits DynamicNodeContext
@{
dynamic rootNode = @Model.NodeById(1066);
DynamicNodeList list = rootNode.Descendants();
List<dynamic> categories = new List<dynamic>(list.Cast<dynamic>());
List<string> alias = new List<string> { "GeneralPage" };
var filtered = categories.Where(n => alias.Contains(n.NodeTypeAlias));
}
<form method="post" action="">
<select id="selectCategory" name="selectCategory" onchange="this.form.submit(); alertMe(selectCategory)">
@foreach (var node in filtered)
{
<option value="@node.Name">@node.Name</option>
}
</select>
</form>
<script type="text/javascript">
function alertMe(selectCategory) {
alert(selectCategory)
}
</script>
選択した値を警告する関数があることに気付くでしょうが、これは [object HTMLSelectElement] として返されます
サーバーで何が起こっているかを示す必要がある場合は、さらにコードを投稿できますが、前述のようにフィルタリングは機能しますが、次の方法で値を取得しようとしています。
string category = Request["selectCategory"];
if (category != null)
{
どんな助けでも大歓迎です。ありがとう