【问题标题】:Ajax.ActionLink(...) with checkboxAjax.ActionLink(...) 带复选框
【发布时间】:2012-06-21 14:03:03
【问题描述】:
Ajax.ActionLink("Link name",....)

可以用复选框代替“链接名称”吗?

如果有怎么办?

谢谢,

【问题讨论】:

    标签: ajax asp.net-mvc-3


    【解决方案1】:

    是的,当然有可能。您可以使用标准复选框:

    @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    
                }
            });
        });
    });
    

    【讨论】:

    • 是的,它有效。您不能在 .NET 中拥有名为 data-url 的属性。 ASP.NET MVC 中的助手足够智能,可以在生成标记时将data_url 解释为data-url 属性。这是一个约定。
    猜你喜欢
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 2013-12-02
    相关资源
    最近更新 更多