1

Web ページから別の Web ページへのリンクがあり、リンクは単一のパラメーター (PackageName) のみを送信することになっています。しかし、ここで何が起こるか、リンクされた Web ページが 2 つのパラメーターで呼び出されています。

.../ETL/JobsLogSpec.aspx?PackageName=Loan_History_Summary_Make_Table&NoDays=10

NoDays は不要なパラメーターです。これは、検索で使用される最初の Web ページのフィールドです。そのアプリの他のページでも同様の動作が見られます (パラメータが多すぎます)。コードジェネレーターを使用してこれらを開発しました(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> 

このコードに問題はありません (しかし、私は初心者です)。これはサーバーが行うことでしょうか?

4

2 に答える 2

1

完全に正しい、受け入れられた回答に追加するには、パラメーターの自動追加の背後にある理由は、ほとんどの場合、パラメーターが再び必要になり、特に削除しない限りそのままになるということです。ページでクエリ文字列パラメータが使用されていない場合、追加のクエリ文字列パラメータを使用しても通常は問題ありません。表示され続けるだけです (問題については以下を参照してください)。

「パラメーターの保持」は通常、すべての GET および/または POST 値をオンまたはオフにするために使用されますが、個々のパラメーターは、そのすぐ上にある「パラメーターの削除」フィールド (セミコロン区切り) に入力することで削除できます。

私が抱えていた 1 つの問題は、'employee' と呼ばれるグリッドを使用する 2 つのページでした。デフォルトでは、ページ選択は 'employee_GridPage=2' のようなクエリ文字列パラメーターであるため、最初のページで選択されたページ 2 は、2 番目のページが表示された場合にもページ 2 を表示します。 . 私の解決策は、1 つのグリッドを「従業員」に変更することでした。最初のページからのリンクの「Remove Parameters」に「employee_GridPage」を追加することもできました。

于 2013-10-05T05:35:43.800 に答える