仅发布包含Webmatrix中值的字段

时间:2013-09-27 13:45:39

标签: razor webmatrix

我创建了一个搜索页面,它根据查询字符串参数中设置的参数搜索我的数据库。搜索页面效果很好,但是当我想要添加越来越多的搜索参数时,我不希望用空白查询字符串填充URL。

假设我有一个包含10个搜索选项的表单,但只想指定2,是否可以只将这2个发布到URL而不是全部10个?

1 个答案:

答案 0 :(得分:1)

如果您使用JavaScript发出请求,则可以执行此操作。你甚至不需要一个表格。这是一个使用jQuery进行JavaScript的简单示例(简化操作):

@{

}

<!DOCTYPE html>

<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript" src="~/Scripts/jquery-1.9.1.min.js"></script>
        <script>
            $(function () {
                $('button').click(function () {
                    var url = [location.protocol, '//', location.host, location.pathname].join('');
                    var queryAdded = false;
                    $('input[type=text]').each(function () {
                        if ($(this).val() != '') {
                            url += queryAdded ? '&' : '?';
                            url += $(this).prop('name') + '=' + $(this).val();
                            queryAdded = true;
                        }
                    });
                    location.href = url;
                });
            });
        </script>
    </head>
    <body>
        <div>
            @Html.TextBox("field1")
        </div>
        <div>
            @Html.TextBox("field2")
        </div>
        <div>
            @Html.TextBox("field3")
        </div>
        <div>
            <button>Click</button>
        </div>
    </body>
</html>