0

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

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

4

1 回答 1

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>
于 2013-09-27T18:46:41.240 回答