整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          獲取記錄信息,頁面回顯,修改數據,提交更新

          一、DAL數據訪問層代碼

          1、獲取實體對象

          /// <summary>
                 /// 得到一個對象實體
                 /// </summary>
                 public Model.Banqi GetModel(int id)
                {
                     StringBuilder strSql = new StringBuilder();
                     strSql.Append("select top 1 * from banqi");
                     strSql.Append(" where id=@id");
                     SqlParameter[] parameters = {
          new SqlParameter("@id", SqlDbType.Int,4)};
                     parameters[0].Value = id;
                     Model.Banqi model = new Model.Banqi();
                     DataTable dt = new SqlHelper().ExecuteQuery(strSql.ToString(), parameters, CommandType.Text);
          
                     if (dt.Rows.Count > 0)
                    {
                         if (dt.Rows[0]["id"].ToString() != "")  //這個判斷可以省略,只判斷允許為空的字段
                        {
                             model.id = int.Parse(dt.Rows[0]["id"].ToString());
                        }
                           
                         model.bqid = dt.Rows[0]["bqid"].ToString();
                         model.xxdw = dt.Rows[0]["xxdw"].ToString();
                         model.bqmc = dt.Rows[0]["bqmc"].ToString();
                         model.zygz = dt.Rows[0]["zygz"].ToString();
                         model.pxdd = dt.Rows[0]["pxdd"].ToString();
                         model.skjs = dt.Rows[0]["skjs"].ToString();
                         model.pxks = DateTime.Parse(dt.Rows[0]["pxks"].ToString());
                         model.pxjs = DateTime.Parse(dt.Rows[0]["pxjs"].ToString());
                         model.bqrs = int.Parse(dt.Rows[0]["bqrs"].ToString());
                         return model;
                    }
                     else
                    {
                         return null;
                    }
                }

          2、更新數據

          //更新一條記錄
                 public bool Update(Model.Banqi model) {
                     StringBuilder strSql = new StringBuilder();
                     strSql.Append("update banqi set ");
                     strSql.Append("bqid=@bqid,");
                     strSql.Append("xxdw=@xxdw,");
                     strSql.Append("bqmc=@bqmc,");
                     strSql.Append("zygz=@zygz,");
                     strSql.Append("pxdd=@pxdd,");
                     strSql.Append("skjs=@skjs,");
                     strSql.Append("pxks=@pxks,");
                     strSql.Append("pxjs=@pxjs,");
                     strSql.Append("update_time=@update_time");
                     strSql.Append(" where id=@id");
                     SqlParameter[] parameters = {
                      new SqlParameter("@bqid", SqlDbType.NVarChar,50),
                                         new SqlParameter("@xxdw", SqlDbType.NVarChar,50),
                                         new SqlParameter("@bqmc", SqlDbType.NVarChar,50),
                                         new SqlParameter("@zygz", SqlDbType.NVarChar,50),
                                         new SqlParameter("@pxdd", SqlDbType.NVarChar,50),
                                         new SqlParameter("@skjs", SqlDbType.NVarChar,50),
                                         new SqlParameter("@pxks", SqlDbType.DateTime),
                                         new SqlParameter("@pxjs", SqlDbType.DateTime),
                                         new SqlParameter("@bqrs", SqlDbType.TinyInt),
                                         new SqlParameter("@update_time", SqlDbType.DateTime),
                                          new SqlParameter("@id", SqlDbType.Int,4)
                                                };
                     parameters[0].Value = model.bqid;
                     parameters[1].Value = model.xxdw;
                     parameters[2].Value = model.bqmc;
                     parameters[3].Value = model.zygz;
                     parameters[4].Value = model.pxdd;
                     parameters[5].Value = model.skjs;
                     parameters[6].Value = model.pxks;
                     parameters[7].Value = model.pxjs;
                     parameters[8].Value = model.bqrs;
                     parameters[9].Value = model.update_time;
                     parameters[10].Value = model.id;
                     int res = new SqlHelper().ExecuteNonQuery(strSql.ToString(), parameters, CommandType.Text);
                     if (res>=1)  //更新一條就是=1
                    {
                         return true;
                    }
                     else
                    {
                         return false;
                    }
          
                     
                }

          二、前臺頁面代碼,含數據驗證

          <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="banqi_edit.aspx.cs" Inherits="Peixun.Web.banqi_edit" %>
          
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head runat="server">
             <title>班期修改</title>
              <meta name="renderer" content="webkit">
             <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
             <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
             <link rel="stylesheet" href="./css/font.css">
             <link rel="stylesheet" href="./css/xadmin.css" />
             <script src="./lib/layui/layui.js" charset="utf-8"></script>
             <script type="text/javascript" src="./js/xadmin.js"></script>
          </head>
          <body>
            <div class="layui-fluid">
                 <div class="layui-row">
                     <form id="form" class="layui-form" runat="server">
                     <div class="layui-form-item">
                         <label for="username" class="layui-form-label">
                             <span class="x-red">*</span>班期ID
                         </label>
                         <div class="layui-input-inline">
                             <asp:TextBox ID="txtBqid"  lay-verify="title" autocomplete="off" class="layui-input"
                                 runat="server"></asp:TextBox>
                         </div>
                         <div class="layui-form-mid layui-word-aux">
                             <span class="x-red">*</span>請輸入班期ID
                         </div>
                     </div>
                     <div class="layui-form-item">
                         <label for="username" class="layui-form-label">
                             <span class="x-red">*</span>學校單位
                         </label>
                         <div class="layui-input-inline">
                             <asp:TextBox ID="txtXxdw" lay-verify="required" autocomplete="off" class="layui-input"
                                 runat="server"></asp:TextBox>
                         </div>
                         <div class="layui-form-mid layui-word-aux">
                             <span class="x-red">*</span>請輸入培訓機構院校
                         </div>
                     </div>
                     <div class="layui-form-item">
                         <label for="username" class="layui-form-label">
                             <span class="x-red">*</span>班期名稱
                         </label>
                         <div class="layui-input-inline">
                             <asp:TextBox ID="txtBqmc" lay-verify="required" autocomplete="off" class="layui-input"
                                 runat="server"></asp:TextBox>
                         </div>
                         <div class="layui-form-mid layui-word-aux">
                             <span class="x-red">*</span>請輸入班期名稱
                         </div>
                     </div>
                     <!--項目開始-->
                     <div class="layui-form-item">
                         <label for="username" class="layui-form-label">
                             <span class="x-red">*</span>職業工種
                         </label>
                         <div class="layui-input-inline">
                             <asp:TextBox ID="txtZygz" lay-verify="required" autocomplete="off" class="layui-input"
                                 runat="server"></asp:TextBox>
                         </div>
                         <div class="layui-form-mid layui-word-aux">
                             <span class="x-red">*</span>請輸入職業工種
                         </div>
                     </div>
                     <!--項目結束-->
                     <!--項目開始-->
                     <div class="layui-form-item">
                         <label for="username" class="layui-form-label">
                             <span class="x-red">*</span>培訓地點
                         </label>
                         <div class="layui-input-inline">
                             <asp:TextBox ID="txtPxdd"  lay-verify="required" autocomplete="off" class="layui-input"
                                 runat="server"></asp:TextBox>
                         </div>
                         <div class="layui-form-mid layui-word-aux">
                             <span class="x-red">*</span>請輸入培訓地點
                         </div>
                     </div>
                     <!--項目結束-->
                     <!--項目開始-->
                     <div class="layui-form-item">
                         <label for="username" class="layui-form-label">
                             <span class="x-red">*</span>授課教師
                         </label>
                         <div class="layui-input-inline">
                             <asp:TextBox ID="txtSkjs" lay-verify="required" autocomplete="off" class="layui-input"
                                 runat="server"></asp:TextBox>
                         </div>
                         <div class="layui-form-mid layui-word-aux">
                             <span class="x-red">*</span>請輸入授課教師
                         </div>
                     </div>
                     <!--項目結束-->
                     <!--項目開始-->
                     <div class="layui-form-item">
                         <label for="username" class="layui-form-label">
                             <span class="x-red">*</span>培訓開始
                         </label>
                         <div class="layui-input-inline layui-show-xs-block">
                             <asp:TextBox ID="txtPxks"  runat="server" placeholder="培訓開始日期" lay-verify="date"
                                 autocomplete="off" CssClass="layui-input"></asp:TextBox>
                         </div>
                         <div class="layui-form-mid layui-word-aux">
                             <span class="x-red">*</span>請輸入培訓開始日期
                         </div>
                     </div>
                     <!--項目結束-->
                     <!--項目開始-->
                     <div class="layui-form-item">
                         <label for="username" class="layui-form-label">
                             <span class="x-red">*</span>培訓結束
                         </label>
                         <div class="layui-input-inline">
                             <asp:TextBox ID="txtPxjs"  autocomplete="off" class="layui-input" lay-verify="date"
                                 runat="server"></asp:TextBox>
                         </div>
                         <div class="layui-form-mid layui-word-aux">
                             <span class="x-red">*</span>請輸入培訓結束日期
                         </div>
                     </div>
                     <!--項目結束-->
                     <!--項目開始-->
                     <div class="layui-form-item">
                         <label for="username" class="layui-form-label">
                             <span class="x-red">*</span>班期人數
                         </label>
                         <div class="layui-input-inline ">
                             <asp:TextBox ID="txtPxrs"  lay-verify="number|Ndouble" autocomplete="off" class="layui-input"
                                 runat="server"></asp:TextBox>
                         </div>
                         <div class="layui-form-mid layui-word-aux">
                             <span class="x-red">*</span>請輸入培訓人數
                         </div>
                     </div>
                     <!--項目結束-->
                     <!--按鈕開始-->
                     <div class="layui-form-item">
                         <label for="L_repass" class="layui-form-label">
                         </label>
                         <asp:Button ID="Button1" runat="server" lay-submit="" lay-filter="add" Text="保存"
                             CssClass="layui-btn" OnClick="Button1_Click" />
                     </div>
                     <!--按鈕結束-->
                     </form>
                 </div>
             </div>
             <script>        layui.use(['laydate', 'form'],
                 function () {
                     var laydate = layui.laydate;
                     var form = layui.form
          
                     //自定義驗證規則
                     form.verify({
                         title: function (value, item) {
                             if (value.length < 5) {
                                 return '標題至少得5個字符啊';
                            }
                        }
                        , Ndouble: [
                       /^[1-9]\d*$/
                      , '只能輸入整數哦'
                            ]
          
                        , contact: function (value) {
                             if (value.length < 4) {
                                 return '內容請輸入至少4個字符';
                            }
                        }
                        , phone: [/^1[3|4|5|7|8]\d{9}$/, '手機必須11位,只能是數字!']
                        , email: [/^[a-z0-9._%-]+@([a-z0-9-]+\.)+[a-z]{2,4}$|^1[3|4|5|7|8]\d{9}$/, '郵箱格式不對']
                    });
          
                     //監聽提交
                     form.on('submit(add)', function (data) {
                         //ajax
                         //console.log(data.elem) //被執行事件的元素DOM對象,一般為button對象
                         //console.log(data.form) //被執行提交的form對象,一般在存在form標簽時才會返回
                         console.log(data.field) //當前容器的全部表單字段,名值對形式:{name: value};獲取單個值data.field["title"]
                         //sreturn false; //阻止表單跳轉。如果需要表單跳轉,去掉這段即可。
                    });
          
                     //執行一個laydate實例
                     laydate.render({
                         elem: '#txtPxks',    //指定元素
                         btns: ['confirm'],
                         theme: 'grid',
                         trigger: 'click'    //解決日期選擇一閃而過問題
                    });
          
                     //執行一個laydate實例
                     laydate.render({
                         elem: '#txtPxjs',     //指定元素
                         trigger: 'click'    //解決日期選擇一閃而過問題
                    });
                });
          
             </script>
          </body>
          </html>

          三、后臺代碼

          1、根據傳來的參數id,獲取實體對象,將值賦予前臺控件文本屬性。

          2、通過前臺JS驗證,修改數據后保存。更新成功后,關閉彈出頁,刷新父窗口。

          任務描述

          1.1 輸入關鍵字,通過百度搜索來自指定網站的網頁,如鳳凰網。

          1.2 下拉菜單和輸入框組合到一起,即網站地址既可以手動輸入,也可以通過下拉菜單選擇后自動輸入。

          2 HTML+CSS+JS代碼

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

          <html xmlns="http://www.w3.org/1999/xhtml">

          <head>

          <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

          <script language="javascript" type="text/javascript">

          function baiduSearch() {

          window.open("http://www.baidu.com/baidu?word=" + formmain.kw.value + "&tn=bds&cl=3&ct=2097152&si=" + formmain.sitesearch.value + "&s=on");

          //如果用漢語搜索,關鍵字最好是重新編碼:encodeToGb2312(formmain.kw.value)

          }

          </script>

          <style>

          .siteselect{

          width:168px;

          margin-left:-145px;

          margin-left:-146px;

          }

          .iesitesearch{

          font-size:14px;

          height:16px;

          width:145px;

          margin-top:0px;

          position:absolute;

          left:5px;

          }

          </style>

          <title>站內搜索</title>

          </head>

          <body>

          <form id=formmain onsubmit="return checktype(this); search()" name="f" action=JavaScript:>

          關鍵字:<input type="text" size=35 name="wd" id="kw" maxlength="100" title="輸入”搜索詞“,在下面區域單擊某一按鈕,即開始搜索!" />&nbsp;網站地址:

          <span style="position:relative;">

          <span style="margin-left:150px;overflow:hidden;">

          <select class="siteselect" onchange="this.parentNode.nextSibling.value=this.value">

          <option value="sohu.com">搜狐</option>

          <option value="sina.com.cn">新浪</option>

          <option value="163.com">網易</option>

          <option value="qq.com">騰訊</option>

          <option value="ifeng.com">鳳凰網</option>

          </select>

          </span><input id="sitesearch" name="sitesearch" class="iesitesearch" title="在前面輸入框中輸入“搜索詞“后,在此處可輸入網址(如sina.com.cn,前面不需要http://www.)或選擇某一特定網站,然后單擊“谷歌”或“百度”即可開始定向搜索!";>

          <!--</span><input...的內容必須寫成一行,否則下拉菜單中選擇的內容無法顯示到輸入框-->

          </span>

          <input name="btnG3" type="button" value="百度" onclick="baiduSearch();" class="sitebai" />

          </form>

          </body>

          </html>

          搜索后的顯示頁面:

          [dependencies]
          tokio = { version = "1", features = ["full"] }
          lettre = { version = "0.10.4", default-features = false, features = ["smtp-transport", "tokio1-rustls-tls", "hostname", "builder"] }
          rusoto_core = { version = "0.48", default-features = false, features = ["rustls"] }
          rusoto_ses = { version = "0.48", default-features = false, features = ["rustls"] }
          base64 = "0.21"
          serde = "1.0"
          anyhow = "1.0"
          tera = { version = "1", default-features = false }

          rc\main.rs

          use anyhow::Error;
          use lettre::{
              transport::smtp::authentication::Credentials, AsyncSmtpTransport, Message, Tokio1Executor,
          };
          use rusoto_ses::SesClient;
          
          mod ses;
          mod smtp;
          mod template;
          
          #[tokio::main]
          async fn main() -> Result<(), Error> {
              // email data
              let from = "evil@hacker.com".to_string();
              let to = "credule@kerkour.com".to_string();
              let subject = "".to_string();
              let title = subject.clone();
              let content = "".to_string();
          
              // template things
              let mut templates = tera::Tera::default();
              // don't escape input as it's provided by us
              templates.autoescape_on(Vec::new());
              templates.add_raw_template("email", template::EMAIL_TEMPLATE)?;
          
              let email_data = tera::Context::from_serialize(template::EmailData { title, content })?;
              let html = templates.render("email", &email_data)?;
          
              let email = Message::builder()
                  .from(from.parse()?)
                  .to(to.parse()?)
                  .subject(subject)
                  .body(html.to_string())?;
          
              // Using SMTP
              let smtp_credentials =
                  Credentials::new("smtp_username".to_string(), "smtp_password".to_string());
          
              let mailer = AsyncSmtpTransport::<Tokio1Executor>::relay("smtp.email.com")?
                  .credentials(smtp_credentials)
                  .build();
          
              smtp::send_email(&mailer, email.clone()).await?;
          
              // or using SES
              // load credentials from env
              let ses_client = SesClient::new(rusoto_core::Region::UsEast1);
              ses::send_email(&ses_client, email).await?;
          
              Ok(())
          }
          

          src\ses.rs

          use lettre::Message;
          use rusoto_ses::{RawMessage, SendRawEmailRequest, Ses, SesClient};
          use base64::{Engine as _, engine:: general_purpose};
          
          pub async fn send_email(ses_client: &SesClient, email: Message) -> Result<(), anyhow::Error> {
              let raw_email = email.formatted();
          
              let ses_request = SendRawEmailRequest {
                  raw_message: RawMessage {
                      //data: base64::encode(raw_email).into(),
                      data: general_purpose::STANDARD.encode(raw_email).into(),
                  },
                  ..Default::default()
              };
          
              ses_client.send_raw_email(ses_request).await?;
          
              Ok(())
          }
          

          src\smtp.rs

          use lettre::{AsyncSmtpTransport, AsyncTransport, Message, Tokio1Executor};
          
          pub async fn send_email(
              mailer: &AsyncSmtpTransport<Tokio1Executor>,
              email: Message,
          ) -> Result<(), anyhow::Error> {
              mailer.send(email).await?;
          
              Ok(())
          }
          

          src\template.rs


          主站蜘蛛池模板: 亚洲色偷精品一区二区三区| 国产精品亚洲不卡一区二区三区 | 国产成人精品一区二区三区| 精品综合一区二区三区| 亚洲字幕AV一区二区三区四区| 精品国产一区二区三区香蕉事 | 国产精品一区视频| 国产一区二区三区免费看| 亚洲国产精品一区二区久久hs| 亚洲一本一道一区二区三区| 爆乳无码AV一区二区三区| 国产精品丝袜一区二区三区| 日本免费电影一区| 亚洲AV无码一区二区三区牛牛| 国产综合视频在线观看一区| 97久久精品午夜一区二区| 精品国产日韩亚洲一区在线| 老熟女高潮一区二区三区| 美女视频在线一区二区三区| 一区二区三区午夜| 国产精品亚洲专区一区| 亚洲午夜一区二区三区| 精品无码一区二区三区爱欲| 精品久久一区二区| 亚洲国产综合无码一区| 肥臀熟女一区二区三区| 福利一区二区三区视频午夜观看| 亚洲日韩国产欧美一区二区三区| 中文字幕一区二区三区永久 | 国精产品一区一区三区MBA下载| 91视频国产一区| 亚洲国产精品一区二区久| 无码一区二区三区在线观看| 丰满人妻一区二区三区视频53| 琪琪see色原网一区二区| 日本精品高清一区二区2021| 精品国产福利在线观看一区| 无码人妻一区二区三区精品视频| 国产精品综合一区二区三区| 久久精品无码一区二区三区免费 | 久久久久成人精品一区二区|