【发布时间】:2012-06-21 14:03:03
【问题描述】:
Ajax.ActionLink("Link name",....)
可以用复选框代替“链接名称”吗?
如果有怎么办?
谢谢,
【问题讨论】:
标签: ajax asp.net-mvc-3
Ajax.ActionLink("Link name",....)
可以用复选框代替“链接名称”吗?
如果有怎么办?
谢谢,
【问题讨论】:
标签: ajax asp.net-mvc-3
是的,当然有可能。您可以使用标准复选框:
@Html.CheckBoxFor(
x => x.Foo,
new {
data_url = Url.Action("SomeAction", "SomeController"),
id = "mycheckbox"
}
)
然后在您单独的 javascript 文件中使用 jQuery 订阅此复选框的更改事件并不显眼地对其进行 AJAXify:
$(function() {
$('#mycheckbox').change(function() {
var data = {};
data[$(this).attr('name')] = $(this).is(':checked');
$.ajax({
url: $(this).data('url'),
type: 'POST',
data: data,
success: function(result) {
// TODO: do something with the result
}
});
});
});
【讨论】:
data-url 的属性。 ASP.NET MVC 中的助手足够智能,可以在生成标记时将data_url 解释为data-url 属性。这是一个约定。