zoukankan      html  css  js  c++  java
  • 前台给后台传数据的方式-----Form表单

        后台获取前台数据的方法-Form表单+ajax

        Tips: 1、前台可以直接利用Html标签的id 来获取标签的属性值

                2、css可以利用 id 和 class 名来改标签的样式

                3、后台不能直接通过div的id和class来获取前台的Html标签的值,只能通过From表单来存需要的html(包括div标签属性、内容等)

                4、通过ajax前后台数据交互,ajax通过data把前台页面数据传给后台,后台(一般处理程序.ashx)获取前台data的数据,并return,成功后ajax执行success中的内容

                     var form = ("表单的name");

                     form.ajaxSubmit{..........}

                5、后台(.ashx)获取前台数据的时候只能通过name属性来取数据

                    HttpContext.Current.Request.Form["写想要的form中存的html中想要的文本域的 name的值 "]  //获取 name="值" 的文本域的value

                    HttpContext.Current.Request[" 前台ajax中data存的键名"] //获取ajax的data中所存键名对应的键值

                    如:ajax {.....

                                  data: { "ModuleType": "AddDFinance", "EnterpriseId": $("#hidEnterpriseid").val() },

                                  .......}

                        var temp =  HttpContext.Current.Request[" ModuleType"] //temp的值为AddDFinance

       

    例子:此处通过一个隐藏的from来接收html ,再通过ajax把from.html()传递给后台

        1、前台Html(写在.aspx中)

     
    <head>
    <script src="../js/PageAjax.js" type="text/javascript"></script>
    </head>
    <body>
    <div id="DFinance" style="display: none;" class="DFinance"> <div> <table id="TFinance"> <tr> <td class="rtdheader" style="border: 0px; border-bottom: 1px solid blue;"> <input type="text" id="YearToFinance" name="txtYearToFinance"/> </td> </tr> </table> </div> </div>
      <a class='btn' id="confirm" onclick='confirmMessage(this)' style="margin-left: 30px"> 确定</a>
    <--此处替换下面的from表单内容-->
    </body>

             from表单,用来接收上面的html


    <
    form action="" id="frmForSubmitPart" enctype="multipart/form-data" method="post" style="display: none"></form>

      2、PageAjax.js文件 (一点击(onclick)"确定",就执行这个function)

    function confirmMessage(obj) {
        var form = $("#frmForSubmitPart"); //前台可以通过id获取form,后台只能通过name取from的值
        var submitHtml = "";
        form.html("");
        submitHtml = $("#DFinance").formhtml();
        form.append(submitHtml);
        if ($(obj).html() == "确定") {
            form.ajaxSubmit({
                url: "Handel/SaveModuleToDatabase.ashx",
                global: false,
                dataType: "json",
                data: { "ModuleType": "AddDFinance", "EnterpriseId": $("#hidEnterpriseid").val() },
                success: function (data) {
                    var thisTxtYear = $("#DFinance").find("#txtYearToFinance").val();
    alert("成功!");
    }
    }

    3、后台处理程序(SaveModuleToDatabase.ashx)

      var finance = HttpContext.Current.Request.Form["txtYearToFinance"];  //( 表单中存了div input table) 接收表单中存的name="txtYearToFinance"的控件的value

    using System;
    using System.Web;
    using System.Collections.Generic;
    using System.Collections;
    using System.IO;
    using BLL;
    using Model;
    using System.Text.RegularExpressions;
    public class SaveModuleToDatabase : IHttpHandler
    {
    
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string moduleId = context.Request["ModuleType"].ToString();

    switch (moduleId) { case "AddDFinance": HttpContext.Current.Response.Write(Save()); break;
    }
    }
    private string Save()
        {
            FinanceHeaderBLL efhBll = new FinanceHeaderBLL();
            FinanceHeaderModel efhmodel = new FinanceHeaderModel();
            var enterpriseId = "";
            if (!string.IsNullOrEmpty(HttpContext.Current.Request["EnterpriseId"]))
            {
                enterpriseId = HttpContext.Current.Request["EnterpriseId"];
            }
    var finance = HttpContext.Current.Request.Form["txtYearToFinance"];
      efhmodel.EnterpriseID = enterpriseId;
      efhmodel.finance= finance;
    }

     FinanceHeaderBLL efhBll = new FinanceHeaderBLL(); // 业务逻辑层
     FinanceHeaderModel efhmodel = new FinanceHeaderModel();// 数据层,写在Model类库中

  • 相关阅读:
    maven 多环境打包
    velocity 将数字转为以万为单位,保留2位小数
    mybatic 结果为null,返回0
    websocket-spring 整合
    烂泥:rsync配置文件详解
    烂泥:【转】rsync命令参数详解
    烂泥:linux文件同步之rsync学习(一)
    烂泥:使用snmpwalk采集设备的OID信息
    烂泥:apache密码生成工具htpasswd的应用
    烂泥:apache性能测试工具ab的应用
  • 原文地址:https://www.cnblogs.com/KrystalNa/p/4402896.html
Copyright © 2011-2022 走看看