qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          請求 調用數據庫 前后臺交互

          今天做了點東西,用到的東西比較雜,總結下,以備以后查閱:

            1、首先需要將c#連數據庫查出的一條記錄的每個字段值取出來,我是將這條記錄的字段放在了一個數組中,如下:

               string[] Infos=new string[3];
               public Array show2DcodeMsg(string id)
              {
                  SqlConnection connection = new SqlConnection(strCon);
                  String str = "SELECT ZCCCode,ZCCAddr,OfUserName FROM tbZCCInfo WHERE  ZCCCode=" + id;
                  SqlCommand command = new SqlCommand(str, connection);
                  command.Connection.Open();
                  command.ExecuteNonQuery();  
                  SqlDataReader datareader = command.ExecuteReader();
                  while(datareader.Read())
                  {
                      string ZCCCode = datareader["ZCCCode"].ToString();
                      string ZCCAddr = datareader["ZCCAddr"].ToString();
                      string OfUserName = datareader["OfUserName"].ToString();
                      Infos[0] = ZCCCode;
                      Infos[1] = ZCCAddr;
                      Infos[2] = OfUserName;
                  }
                  return Infos
               }

            我做的是http請求,參數獲得是需要在page_load函數中提取,然后調用上面這個函數,大概后臺代碼是這樣的:

          protected void Page_Load(object sender, EventArgs e)
              {
                  q_id = Request.QueryString["ID"]; 
                  if (q_id == null || q_id == "")
                  { 
                      return;
                  }
                  {
                      show2DcodeMsg(q_id);
                  }     
              }


           前臺的網頁需要用到上面獲取的Infos[]的值,這里一般都知道要在前臺調用后臺方法了,方法有ajax和jquery等,最簡單的就是<%=方法名%>這種方式了,但是這里問題來了,是要<%=Page_Load(object sender, EventArgs e)%> ?這顯然不合適,從參數上來說也能這么傳,再說也沒有調用Page_load這一說,怎么辦呢?我是直接另寫了三個方法:

           public string returncode()
              {
                  return Infos[0];
              }
              public string returnAddr()
              {
                  return Infos[1];
              }
              public string returnName()
              {
                  return Infos[2];
              }

            這樣在前臺直接調用這三個方法不就行了。前臺代碼如下:

              <script type="text/javascript" language="javascript">
                     var code="<%=returncode() %>";
                     var addr="<%=returnAddr() %>";
                     var name="<%=returnName() %>";
                 function showInfos()
                 {
          //           var img123=doucumen.getElementById("imgCar");
          //           img123.src="images/"+code+".jpg";
                       imgCar.src="images/"+code+".jpg";
                       li_num.innerHTML=code;
                       li_addr.innerHTML=addr;
                       li1.innerHTML=name;    
                 }
              </script>

            方法showInfos()是在body的onload里執行。執行結果就是,運行網頁,發送請求,查詢數據庫,返回的字段值直接顯示在網頁的控件上。

            后面還用到一個asp:Button的一個onclick事件,往服務器里上傳數據,asp是服務其空間,只能直接調用后臺cs方法,這個比較簡單,直接就能調,問題來了:

          前臺:
          <asp:Button ID = "testBtn" Text = "評價" runat = "server" 
                          onclick="submit"/>
          后臺:
            protected void submit(object sender, EventArgs e)
              {
                ...
              }

            這是固定的格式,要注意幾個地方:

            (1)前臺方法名沒有括號

            (2)后臺方法有參數,并且就這樣,我也不知道原因

            一開始我前臺加括號,后臺沒參數,感覺太正常不過了,結果報錯了

            submit 重載均與委托system.eventHandler不匹配。重載出問題自然就想到參數的問題了,但是不加括號不知道為什么,記住吧。

          posted on 2013-08-20 14:11 順其自然EVO 閱讀(187) 評論(0)  編輯  收藏 所屬分類: 數據庫

          <2013年8月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 佛坪县| 个旧市| 华宁县| 六安市| 囊谦县| 日土县| 溆浦县| 霍林郭勒市| 益阳市| 新宾| 凤阳县| 日土县| 吐鲁番市| 信丰县| 龙山县| 焦作市| 湖南省| 黄陵县| 若尔盖县| 疏附县| 嘉峪关市| 新晃| 桓台县| 山西省| 新闻| 泗洪县| 新疆| 依兰县| 桃园市| 沿河| 宝丰县| 方山县| 固原市| 清徐县| 五常市| 汝城县| 宣汉县| 青海省| 喀喇| 庄浪县| 卢龙县|