我创建了一个搜索页面,它根据查询字符串参数中设置的参数搜索我的数据库。搜索页面效果很好,但是当我想要添加越来越多的搜索参数时,我不希望用空白查询字符串填充URL。
假设我有一个包含10个搜索选项的表单,但只想指定2,是否可以只将这2个发布到URL而不是全部10个?
答案 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>