表单提交后从Query String中删除项目

时间:2012-09-10 15:46:04

标签: c# asp.net-mvc asp.net-mvc-3

我有一个搜索表单,其中包含一些默认文本Type your search phrase here,它当前作为查询字符串参数发送 - 生成的URL如下所示:

/search?KeyWords=Type+your+search+phrase+here

但是我想将它从查询字符串中删除。

我应该在什么时候删除它?我的意思是,我可以在控制器中检查字符串是否匹配,而不是将其用作搜索的关键字,但它仍然存在于URL中,理想情况下我希望将其完全删除以免引起任何混淆(加上它在URL中有默认短语看起来很糟糕!)。

1 个答案:

答案 0 :(得分:1)

为文本输入字段设置默认值的语义正确方法是使用HTML5 placeholder属性,而不是设置value属性:

@Html.TextBoxFor(x => x.Foo, new { placeholder = "Type your search phrase here" })

在这种情况下,提交表单时不会发送默认值。

如果您需要支持旧版浏览器,可以使用jquery.placeholder plugin,这将不引人注意地启用对它的支持。