MVC表单值发布到路由

时间:2010-06-02 16:06:33

标签: asp.net-mvc asp.net-mvc-2

我不确定我尝试做的事情是否可行,但现在可以了。

我有一个带有两个下拉列表的表单 - 类别和子类别。选择类别时,将进行AJAX调用以获取子类别列表。出于演示目的,我选择了一个“水果”类别,其中显示了该组的所有子类别。

<select id="category" name="category">
    <option value="Fruit">Fruit</option>
    <option value="Vegetables">Vegetables</option
    <option value="Dairy">Dairy</option>
</select>

<!--AJAX call is made to get sub categories depending on what is selected in category-->
<select id="subcategory" name="subcategory">
    <option value="Apples">Apples</option>      
    <option value="Pears">Pears</option>
    <option value="Bananas">Bananas</option>
</select>

现在,如果我选择了Fruit,然后选择了Apples并提交了此表单,我希望将其发布到特定的控制器/ {category} / {subcategory},例如/水果/苹果,这是动态的,取决于从下拉菜单中选择的内容。因此,如果我选择Fruit,然后选择Pears,它会发布到/ Fruit / Pears

这可能吗?如果可以,我该怎么做?

提前致谢。

1 个答案:

答案 0 :(得分:1)

当用户选择子类别时,您可以修改要发布到的表单操作:

$(function() {
    $('#subcategory').change(function() {
        $('#someForm').attr(
            'action', 
            '/' + $('#category').val() + '/' + $(this).val()
        );
    });
});