2012-09-10 33 views
0

我有有目前被作为查询字符串参数发送一些默认的文本Type your search phrase here搜索表单后 - 生成的URL看起来像这样:删除项目从查询字符串形式提交

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

不过,我想将其从查询字符串中完全删除。

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

+0

我不确定如何回答问题的主要部分,但是不会更改应用的路由以重定向到默认的“搜索短语”值,以便您可以拥有干净的默认网址?就像这里讨论的东西:http://stackoverflow.com/a/968927/1026898? – Ecnalyr

回答

1

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

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

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

如果你需要支持传统的浏览器,你可以使用jquery.placeholder plugin,这将悄悄地支持它。

+0

更容易!谢谢达林! – MichaelS