2016年9月12日 星期一

ASP .Net 送出表單時Server沒有回應

打開Chrome F12時會看到下面的錯誤

 Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500

這時治標的方法,是將ValidateRequest="false"的模式下,不過這時候填交表單的安全性就會降低(內部系統就不管那麼多了)

修改內容如下:
 1.在ASPX的標頭加入ValidateRequest="false"
 2.在web.config中加入

  <location path="QA/QA_FAQ.aspx">
    <system.web>
      <httpRuntime requestValidationMode="2.0" />
    </system.web>
  </location>

其中QA/QA_FAQ.aspx是你要送交表單的aspx頁面

2016年9月1日 星期四

更改網頁TextBox內的值,但抓取物件時還是得到更改前的值

這個問題好像一不注意就會很常出現,所以只好來個記錄了(雖然是笨問題)

我的頁面有一個DataList,然後頁面會抓資料庫中的值來進行修改
接著我在按下存檔時,動作是進到DataList的ItemCommand事件
但是我抓到的textbox的文字值一直是存檔之前的值

後來上網找了一下,發現是個很笨的錯誤
原來按下按鈕之後,首先會進入的是pageload而不是直接進入ItemCommand
而我在pageload就是做從資料庫讀取的動作,所以再存檔時抓的值一直是錯誤的

解決方式很簡單,就是在pageload讀資料庫的時候,先判斷是不是postback就好

    protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)
        {
            GetQA();
        }        
    }