C# 如何使用JavaScript函数从ASP.NET AJAX控件工具包中设置滑块控件值?

C# 如何使用JavaScript函数从ASP.NET AJAX控件工具包中设置滑块控件值?,c#,asp.net,slider,ajaxcontroltoolkit,C#,Asp.net,Slider,Ajaxcontroltoolkit,如何使用JavaScript函数从ASP.NET AJAX控件工具包中设置滑块控件值? 这可能吗?当然可能!您必须将与SliderXtender关联的asp:TextBox控件的值设置为所需的值。因此,对于此ASP标记: <asp:TextBox ID="sliderBox" runat="server" ClientIDMode="Static"></asp:TextBox> <asp:SliderExtender ID="sliderBox_SliderExte

如何使用JavaScript函数从ASP.NET AJAX控件工具包中设置滑块控件值?
这可能吗?

当然可能!您必须将与
SliderXtender
关联的
asp:TextBox
控件的值设置为所需的值。因此,对于此ASP标记:

<asp:TextBox ID="sliderBox" runat="server" ClientIDMode="Static"></asp:TextBox>
<asp:SliderExtender ID="sliderBox_SliderExtender" runat="server" Enabled="True" 
    Maximum="100" Minimum="0" TargetControlID="sliderBox">
</asp:SliderExtender>
<asp:Button ID="incButton" runat="server" Text="incrementSlider" 
    onclientclick="change();" />

change()
函数将
asp:TextBox
控件中的值增加10,从而在每次单击按钮时增加滑块位置。

确实如此!您必须将与
SliderXtender
关联的
asp:TextBox
控件的值设置为所需的值。因此,对于此ASP标记:

<asp:TextBox ID="sliderBox" runat="server" ClientIDMode="Static"></asp:TextBox>
<asp:SliderExtender ID="sliderBox_SliderExtender" runat="server" Enabled="True" 
    Maximum="100" Minimum="0" TargetControlID="sliderBox">
</asp:SliderExtender>
<asp:Button ID="incButton" runat="server" Text="incrementSlider" 
    onclientclick="change();" />

change()
函数将
asp:TextBox
控件中的值增加10,从而在每次单击按钮时增加滑块的位置。

该脚本有效,因为“incButton”是asp按钮,所以在客户端设置文本框值后单击时回发。如果添加“return false;”“更改”功能以防止回发位置不会更改。我纯粹在客户端完成的方法是找到'slider'div并设置它的'style.left'值。为了得到正确的位置,你必须用最大值来预测线的长度,然后用步长乘以(在这种情况下是10)。我不确定我是否理解你的担忧/反馈,@PrzemG。但在我看来,与其使用返回false来完成所有这些操作,还不如使用一个不同的(客户端)控件。与其试图阻止回发,不如使用带有href=“#”的链接,并处理其单击事件。我的观点是,在回发之前,更改sliderBox元素客户端的“值”不会对页面产生视觉效果。如果将asp:Button更改为with href=“#”将无法工作-滑块将无法移动。此外,元素的值是文本,因此“+10”将字符串“10”附加到现有字符串,因此如果现有值为30,则将其更改为3010,而不是40。该脚本可以工作,因为“incButton”是ASP按钮,所以在客户端设置文本框值后,单击会发生回发。如果添加“return false;”“更改”功能以防止回发位置不会更改。我纯粹在客户端完成的方法是找到'slider'div并设置它的'style.left'值。为了得到正确的位置,你必须用最大值来预测线的长度,然后用步长乘以(在这种情况下是10)。我不确定我是否理解你的担忧/反馈,@PrzemG。但在我看来,与其使用返回false来完成所有这些操作,还不如使用一个不同的(客户端)控件。与其试图阻止回发,不如使用带有href=“#”的链接,并处理其单击事件。我的观点是,在回发之前,更改sliderBox元素客户端的“值”不会对页面产生视觉效果。如果将asp:Button更改为with href=“#”将无法工作-滑块将无法移动。另外,元素的值是文本,所以“+10”将字符串“10”附加到现有字符串中,所以如果现有值为30,则将其更改为3010,而不是40。