0

次のコードは、値がクエリ文字列として渡されていないにもかかわらず、値「3」を返しています。「id」がサーバーメモリにスタックしている方法はありますか(ユーザー固有ではないため)、または「id」は特別な値です。何か案は?

if (Page.Request.QueryString["id"] != null)
{
Page.Trace.Write("Query String Key Found");
ListItemID = HttpContext.Current.Request.QueryString["id"];
}

これは SharePoint 2007 Web パーツにあります。

4

4 に答える 4

0

通常、Webパーツが追加されると、入力に使用できるすべてのパラメーターにデフォルト値が割り当てられます。たとえば、dataformwebpartを空のページに追加し、リストにバインドします。次に、ページのソースを開きます。そこにたくさんのパラメータバインディングがあり、クエリ文字列にバインドできます。WebパーツにListItemIdのデフォルト値が割り当てられている場合はどうでしょうか。

または、実際にデバッグしてこの特定のコードにステップインし、idクエリ文字列変数に実際に3が含まれていますか?もしそうなら、私は他の答えの1つに同意します。ページを開いたときに行われるhttp呼び出しの数を確認するためにFiddlerを使用してください。

于 2009-10-15T00:12:26.697 に答える
0

Web パーツが、前のページのリスト項目をクリックして移動したページにある場合。そのリスト項目の ID が表示されます。

于 2009-10-14T22:28:20.217 に答える
0

おそらくどこかにパラメーターを含む投稿 (または GET) があり、それはあなたから隠されています。クエリ文字列は過去の GET 変数であり、「スタック」や「サーバー メモリ」はありません。

HTTP トラフィックを分析するには、HTTPAnalyzerFiddlerなどのツールを使用します。これにより、誰がどのようなリクエストを行っているかがわかります。おそらくSharepointにいるので、クリックしているコントロールのIDです。

于 2009-10-14T22:30:09.297 に答える
0

ブラウザのキャッシュをクリアします。

于 2009-10-14T22:43:16.980 に答える