我有一个从网页到另一个网页的链接,该链接应该只发送一个参数(PackageName)。但这就是发生的事情,链接的网页被调用2个参数:
... / ETL / JobsLogSpec.aspx PACKAGENAME = Loan_History_Summary_Make_Table&安培; NoDays = 10
NoDays是不需要的参数,它是初始网页中的一个字段,用于搜索。该应用程序中的其他页面表现出类似的行为(太多的参数)。我使用代码生成器来开发这些(CodeCharge),这里是代码:
<tr class="Row">
<td><mt:MTLabel Source="TaskName" ID="TaskName" runat="server"/></td>
<td><mt:MTLink Source="PackageName" ID="PackageName" runat="server" HrefSource="~/JobsLogSpec.aspx" PreserveParameters="Get"><Parameters>
<mt:UrlParameter Name="PackageName" SourceType="DataSourceColumn" Source="PackageName"/>
</Parameters></mt:MTLink></td>
我没有看到此代码存在问题(但我是初学者)。这可以是服务器做的吗?
答案 0 :(得分:1)
我之前从未使用过此产品,但是从快速的Google开始,问题似乎是ItemLink
通过PreserveParameters="Get"
属性保留了参数。
完全删除PreserveParameters="Get"
属性。
OR
将您的代码更改为PreserveParameters="None"
。
更新:
显然,有一个设计师可以让你在视觉上改变这些值:
答案 1 :(得分:1)
要添加到接受的答案,这是完全正确的,自动添加参数背后的原因似乎是大多数时候再次需要参数,除非特别删除,否则它们将保留。如果页面没有使用额外的查询字符串参数通常没有问题 - 它只是不断出现(见下面的问题)。
'保留参数'通常用于打开或关闭所有GET和/或POST值,但可以通过在其上方的“删除参数”字段中键入单个参数(以分号分隔)来删除单个参数。
我遇到的一个问题是使用名为'employee'的网格的两个页面,默认情况下,页面选择是一个查询字符串参数,如'employee_GridPage = 2',因此在第一页上选择的第2页也会显示第2页页面显示。我的解决方案是将一个网格改为“员工”。我也可以在第一页的链接上添加'employee_GridPage'到'删除参数'。