Html.Actionlink只能有条件地启用并具有动态提交值

时间:2011-01-28 12:47:54

标签: c# jquery html asp.net-mvc

我正在使用ASP MVC网站并遇到问题。

我正在处理的页面有一个下拉框,它返回值'location'和一个返回'name'的页面。 “位置”下拉框从数据库中过滤该位置中任何位置的名称。在此下方是添加其他名称的选项。

我想添加一个指向名称编辑位置的超链接,但由于可能在当前位置下没有名称,因此当name.id值为null时会抛出异常,我怀疑它会动态更改超链接将发布的名称值,即使它忽略了原始问题。

任何人都知道我怎么能优雅地做到这一点?

1 个答案:

答案 0 :(得分:0)

管理用JQuery解决问题......

放入一个布尔变量,如果返回任何名称,则设置为“true”;如果没有为该位置返回任何名称,则设置为“false”。

创建一个函数来更新你点击的链接以编辑名称的位置,并在ajax获得新名称列表的末尾放置它:

var updateEditLink = function() {
        if(hasValues == true) {
            var segmentsOfLink = $('#EditName').attr('href').split("/");
            var newLink = "/" + segmentsOfLink[1] + "/" + segmentsOfLink[2] + "/" + $("#ChangesForm select[name=Name]").val() + "/" + segmentsOfLink[4] + "/" + segmentsOfLink[5];

            $('#EditName').attr('href', newLink);
        }
    }

newLink以这种方式创建,因为它被设置为/ Name / Edit / {NumberToChange} / Value / Value。

然后当按下EditName超链接时,它会调用此函数

$("#EditName").click(function() {
            return hasValues;
        });

这意味着如果“位置”选择框没有值,则链接不会离开该页面