簡體   English   中英

如果是第一次加載頁面,Umbraco Request.QueryString為null

[英]Umbraco Request.QueryString is null if it's the first time the page is loaded

我有一個令人抓狂的問題(不是全部嗎?)。

我支持Umbraco 4.9.0站點遇到問題,其中Request上的QueryString屬性始終為null,但僅在第一次加載頁面時。 例如,

www.site.com/download.aspx?id=d99fe4df-28d9-4565-b444-b42499fcefd3

在代碼隱藏中,在Page_Load方法上,我試圖獲取id:

var id = Request.QueryString["id"];

除了第一次加載頁面外,這個工作正常。 例如,我第一次點擊上面的URL時,id為null。 如果我再次立即點擊URL,則將id設置為您期望的值。

此外,如果我通過Visual Studio停止並重新啟動Web應用程序,則id變量將繼續按預期工作。 但是,如果我只是簡單地修改代碼庫(例如下面的代碼庫),它將在第一次再次傳遞一個未填充的查詢字符串,並在任何時間之后工作。

var test = "my modification test";
var id = Request.QueryString["id"];

我還注意到Request.UrlReferrer為null,但Request.Url是www.site.com/download.aspx。

任何幫助深表感謝!

代替

var id = Request.QueryString["id"];

嘗試

var id = Request["id"];

它能做什么? 它將嘗試按順序從請求對象中找到此請求變量

  • 請求參數
  • 形成
  • 餅干
  • ClientCertificate
  • ServerVariables

您可能從“FORM”事件后獲取此變量...因此它將位於Request.Form [“id”] ....而不是查詢字符串中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM