【发布时间】:2012-06-02 11:52:48
【问题描述】:
如何在 ASP.NET MVC 3 中创建简单的范围滑块而不使用 telerik 或其他任何外部库?
【问题讨论】:
标签: c# .net asp.net-mvc asp.net-mvc-3
如何在 ASP.NET MVC 3 中创建简单的范围滑块而不使用 telerik 或其他任何外部库?
【问题讨论】:
标签: c# .net asp.net-mvc asp.net-mvc-3
如果你对 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 -->
【讨论】:
MVC 使用 javascript 在客户端执行动态操作。使用图像和 javascript 创建滑块将花费大量时间和广泛的研究,一些开源库已经完成。
Jquery 和 Jqueryui 就是这样一个开源库,并且每当您在脚本文件夹中创建 MVC 项目时,*Microsoft 也会包含这些库。检查 MVC 项目中的 scripts 文件夹,您会看到类似 jquery-ui-1.8.11.js 的内容(版本可能有所不同)
带有 jqueryui 的滑块示例:
【讨论】:
您可以查看 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>")))
【讨论】: