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 閱讀(189) 評論(0)  編輯  收藏 所屬分類: 數據庫

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

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 湾仔区| 福清市| 山东省| 宜兰市| 哈巴河县| 平陆县| 铅山县| 大悟县| 陇南市| 金山区| 波密县| 高雄县| 门头沟区| 凤阳县| 贵阳市| 库尔勒市| 广河县| 岑巩县| 淮北市| 临汾市| 阿克苏市| 台江县| 泸定县| 五大连池市| 四川省| 永丰县| 贵德县| 漠河县| 兴隆县| 龙岩市| 枣庄市| 资阳市| 安阳市| 银川市| 营山县| 台北县| 庄浪县| 尼勒克县| 河津市| 图们市| 衡阳县|