Я использую multihandlesliderextender (из Ajax Toolkit), чтобы сделать опцию фильтра по цене в интернет-магазине. Когда выбрана новая цена, она должна перезагрузить все (и сделать много за кулисами).Вопросы, относящиеся к MultiHandleSliderExtender и postback javascript
Я использовал эту статью здесь http://forums.asp.net/p/1397694/3022998.aspx как вдохновение, а основной идеей является использование JavaScript для обратной передачи.
У меня есть следующая ошибка при запуске моей страницы: «Ошибка выполнения Microsoft JScript: невозможно установить значение свойства« Handle »: объект имеет значение null или undefined».
Я думаю, это связано с тем, что JavaScript не может найти элемент управления, но я не понимаю, почему он не работает, поскольку я использую ClientIdMode, чтобы убедиться, что идентификатор должен соответствовать (и поиск в сгенерированном HTML-файле должен работать) ,
Спасибо!
Я следующая разметка:
<asp:TextBox ID="txtSlider" runat="server" AutoPostBack="true" ></asp:TextBox>
<asp:MultiHandleSliderExtender ID="MultiHandleSliderExtender1" BehaviorID="MultiHandleSliderExtender1"
runat="server" TargetControlID="txtSlider" Length="120" TooltipText="{0}" OnClientDragEnd="ValueChangedHandler">
<MultiHandleSliderTargets>
<asp:MultiHandleSliderTarget ControlID="LeftHandle" />
<asp:MultiHandleSliderTarget ControlID="RightHandle" />
</MultiHandleSliderTargets>
</asp:MultiHandleSliderExtender>
<br/><br/>
<asp:TextBox ID="LeftHandle" runat="server" ClientIDMode="Static"></asp:TextBox>
<asp:HiddenField ID="HiddenField1" runat="server" ClientIDMode="Static" />
<asp:Label ID="RightHandle" runat="server" ClientIDMode="Static"></asp:Label>
<asp:HiddenField ID="HiddenField2" runat="server" ClientIDMode="Static" />
<asp:Button ID="Button1" runat="server" Text="Button"
Style="display: none" onclick="Button1_Click" />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
И в моем заголовке следующего JavaScript:
<script type="text/javascript">
function ValueChangedHandler(sender, args) {
$get("HiddenField1").value = $get("LeftHandle").value;
$get("HiddenField2").value = $get("RightHandle").value;
__doPostBack("Button1", "Click");
}
</script>