我有这个很长的网址,我不想要:
http://localhost:56563/TablesLibraryWebsite/searchresults.aspx?__VIEWSTATE=%2FwEPDwUKMTY3OTkxNDkxMWQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFI2N0bDAwJGNwaFJpZ2h0UGFuZWwka2V5d29yZFNlYXJjaEdP&__EVENTVALIDATION=%2FwEWAgLoquEjAvXq39ML&type=search&keywords=Enter+keywords+%2F+publication+number&population=0&datasources=0&year=0&ctl00%24cphRightPanel%24keywordSearchGO.x=3&ctl00%24cphRightPanel%24keywordSearchGO.y=8
我的表单声明如下:
<form name="search" method="get" action="searchresults.aspx" id="searchform"
runat="server" enableviewstate="false">
<input type="hidden" name="type" value="search" />
<div class="searchField">
<input name="keywords" type="text" id="keywordSearch"
name="keywordSearch" value="Enter keywords / publication number"
class="watermark" />
</div>
<!--end searchField-->
<div class="advanceSearchBox">
<p><b>Narrow results by:</b></p>
<asp:Literal ID="ltrlPopulation" runat="server" />
<asp:Literal ID="ltrlDatasource" runat="server" />
<asp:Literal ID="ltrlYears" runat="server" />
</div>
<!--end advanceSearchBox-->
<div style="float: right; margin-right: 2px;">
<asp:ImageButton ImageUrl="images/go_up.png" AlternateText="GO" Width="34"
Height="24" id="keywordSearchGO" runat="server"
EnableViewState="false" onclick="keywordSearchGO_Click" />
</div>
</form>
为什么我仍然得到这个垃圾?
我的web.config也有页面enableviewstate =“false”。
答案 0 :(得分:3)
您正在获取该垃圾,因为您在表单上将action方法声明为GET而不是POST。
答案 1 :(得分:3)
您正在使用GET作为表单的方法属性。这会将表单值作为查询字符串放在URL中。你应该改用“post”。
答案 2 :(得分:0)
为什么不启用viewstate?它将存储在隐藏字段中,否则ASP.Net将执行URL重写,附加视图状态。