如何在不使用telerik
或其他任何外部库的情况下在ASP.NET MVC 3中创建简单范围滑块?
答案 0 :(得分:12)
如果你对jQuery UI很好:
示例代码:
<meta charset="utf-8">
<style>
#demo-frame > div.demo { padding: 10px !important; };
</style>
<script>
$(function() {
$( "#slider-range-min" ).slider({
range: "min",
value: 37,
min: 1,
max: 700,
slide: function( event, ui ) {
$( "#amount" ).val( "$" + ui.value );
}
});
$( "#amount" ).val( "$" + $( "#slider-range-min" ).slider( "value" ) );
});
</script>
<div class="demo">
<p>
<label for="amount">Maximum price:</label>
<input type="text" id="amount" style="border:0; color:#f6931f; font-weight:bold;" />
</p>
<div id="slider-range-min"></div>
</div><!-- End demo -->
<div class="demo-description">
<p>Fix the minimum value of the range slider so that the user can only select a maximum. Set the <code>range</code> option to "min."</p>
</div><!-- End demo-description -->
答案 1 :(得分:1)
MVC使用javascript在客户端执行动态操作。使用图像和javascript创建一个滑块将花费大量时间和广泛的研究,一些开源库已经完成。
Jquery和Jqueryui就是这样一个开放源代码的lib而且*每当你在脚本文件夹中创建一个MVC项目时,微软也会包含这些库。检查MVC项目中的脚本文件夹,你可以看到类似jquery-ui-1.8.11.js的内容(版本可能会有所不同)
使用jqueryui的滑块样本:
答案 2 :(得分:-2)
您可以通过Shield UI查看ASP.NET MVC Slider组件,这是在MVC视图中轻松创建功能强大的滑块的另一种方法。
Razor代码如下所示:
@(Html.ShieldSlider()
.Name("slider")
.Cls("slider")
.Min(0)
.Max(10)
.Value(4)
.Buttons(true)
.Ticks(ticks => ticks.Enabled(true))
.Values(values => values.Template("{0:c}"))
.Tooltip(tooltip => tooltip.Enabled(true).Template("Price: <b>{0:c}</b>")))