您现在的位置是:首页 >

国家指南 ASP.NET项目开发指南:添加文章(2)

火烧 2022-04-13 06:32:55 1068
ASP.NET项目开发指南:添加文章(2)    添加文章( )   后台事件处理  编写后台事件处理页面ST_ write a x c 主要代码如程序 所示   程序 ST_ write a x c

ASP.NET项目开发指南:添加文章(2)  

     添加文章( )

   后台事件处理

国家指南 ASP.NET项目开发指南:添加文章(2)

  编写后台事件处理页面ST_ write aspx cs 主要代码如程序 所示

  程序   ST_ write aspx cs

     protected void Page_Load(object sender System EventArgs e)

     {

         //在此处放置用户代码以初始化页面

         ST_GROUP Blog ST_main ST_login = new ST_GROUP Blog ST_main()

         //登录连接

         ST_login check_Login()

         //获得数据库连接字符串

         string ST_dns = ConfigurationSettings AppSettings[ conn ];

         ST_myConn = new OleDbConnection(ST_dns)

         //绑定GridView

         Page DataBind()

     }

  【代码说明】上述代码主要实现了文章类型选择 添加文章和重写文章的功能 代码第 行表示获取Web Config中AppSettings标签下名为conn的值 具体使用AppSettings还是ConnectionStrings来保存数据库连接字符串并不重要 读取方式区别也不大 代码第 行表示重新绑定页面

   类别 下拉列表框的实现

   类别 下拉列表框是通过ST_getList()方法实现的 其主要代码如程序 所示

  程序   ST_ write aspx cs

     public void ST_getList()

     {

         //获取选择的类型

         Response Write ( <select name= listtype > )

         //创建选中类型指定的SQL语句

         OleDbCommand ST_myCmd = new OleDbCommand( select * from

             ST_class ST_myConn)

         ST_myConn Open()

         //通过调用ExecuteReader()从数据库中检索行 创建OleDbCommand实例

         OleDbDataReader ST_read = ST_myCmd ExecuteReader()

         //判断是否有数据

         while (ST_read Read())

         {

             Response Write ( <option value= +ST_read[ ] ToString()

                 + > +ST_read[ ] ToString()+ </option> )

         }

         Response Write ( </select> )

         ST_myConn Close()

     }

  【代码说明】前台页面中有一个<%ST_getList() %> 表示直接从后台调用该方法并返回方法生成的内容 代码第 ~ 行就是通过Response Write()方法输出一个select下拉列表框标签

   文章的添加和重写

  文章的添加和重写是通过表单中的submit和reset按钮来实现的 当单击 添加 按钮时 action=ST_save aspx 通过ST_save aspx cs中的ST_Save_Add()方法实现文章的添加 其主要代码如程序 所示

  程序   ST_ write aspx cs

     public void ST_Save_Add()

     {

         //获取新文章的信息

         string ST_n_title = HtmlEncode(Request Form[ n_title ])

         string ST_n_author = HtmlEncode(Request Form[ n_author ])

         string ST_n_key = HtmlEncode(Request Form[ n_key ])

         string ST_n_content = Request Form

  [ n_content ] Replace( )

         int ST_cmd;

         //判断表单是否有信息

         if (Request Form[ n_iscmd ]!=null)

         {

             ST_cmd= ;

         }

         else

         {

             ST_cmd= ;

         }

         //创建插入新文章信息的SQL语句

         string ST_sql = insert into ST_news (ST_n_author ST_n_title

     ST_n_key ST_n_content ST_c_id ST_n_iscmd) values ( + ST_n_author

         + + ST_n_title + + ST_n_key + + ST_n_content

         + +Request Form[ listtype ]+ + ST_cmd + ) ;

         //创建OleDbCommand

         OleDbCommand ST_myCmd = new OleDbCommand(ST_sql ST_myConn)

         ST_myConn Open()

         //执行插入新文章的SQL语句

         ST_myCmd ExecuteNonQuery()

         ST_myConn Close()

         //定向到ST_main aspx页面

         Response Redirect( ST_main aspx )

     }

  【代码说明】代码第 ~ 行都使用了HtmlEncode()方法 其作用是对指定的字符串应用HTML编码 同时防止一些非法字符串注入 代码第 行调用了Replace()方法 这是字符串类的一个特有方法 就是将参数 指定的字符全部替换为参数 指定的字符 这也是防止HTML注入的一种方式 代码第 ~ 行创建插入语句 然后执行插入命令并最终实现页面的导航

  说明 OleDbCommand也具备ExecuteNonQuery()方法 不返回数据

      返回目录ASP NET项目开发指南

      编辑推荐

       ASP NET MVC 框架揭秘

       ASP NET开发宝典

lishixinzhi/Article/program/net/201311/15888  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码