ASP.NET調試過程中的離奇問題

ASP.NET調試過程中的離奇問題

 

 

今天我在調試一個ASP.NET程序時出現了離奇的問題

描述如下:

1.   對程序的修改無反應:

我在頁面的Page_Load事件中執行一個數據綁定,之後我修改了數據源的選擇命令SelectCommand的內容,但是在調試時頁面的數據卻沒有變化,和未修改之前的數據一樣。

protected void Page_Load(object sender, EventArgs e)

    {

         sdsProducts.SelectCommand = "SELECT * FROM Products";      //修改前

//sdsProducts.SelectCommand = "SELECT * FROM Products WHERE TypeID=1";   //修改後    sdsProducts.Update();

}

 

2.   對調試所加入的段點無反應:

我在Page_Load事件中加入若干個調試段點,但是當頁面加載時卻沒用跳回到調試頁面,和往常一樣正常的顯示頁面。

 

3.   對頁面的部分操作無反應:

我在頁面中定義了一個DropDownList控件,並將AutoPostBack屬性設置爲True,下拉選項的每一項對應一個超鏈接地址,通過SelectedIndexChanged事件,將頁面轉到超鏈接到的地址。但是運行時有的選項可以轉到新地址,有的選項則毫無反應。

protected void ddlRedict_SelectedIndexChanged(object sender, EventArgs e)

    {

        Response.Redirect(ddlRedict.SelectedValue);

}

 

 

原因與解決方案:

         在無意中我將網址中所傳遞的值改變:Product.aspx?TypeID=1我將其TypeID改爲2,結果瀏覽器彈出一個對話框

就是這樣我發現了原因:原來我在調試網頁時,使用的是脫機工作,因此所打開的只是之前保存在緩存中的網頁,並不是重新編譯過的網頁,當然也就不會執行Page_Load裏的內容。

 

 

總結:

         在我們點擊開始調試命令時,VS.NET2005先是將網頁重新編譯,然後打開瀏覽器訪問重新編譯過的網頁,如果你是使用脫機工作,那麼瀏覽器就會訪問緩存裏的網頁,而不會訪問你重新編譯過的網頁,也就會出現上述的問題。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章