<th id="v9g6b"><track id="v9g6b"></track></th>

  • <em id="v9g6b"><acronym id="v9g6b"></acronym></em>
    <progress id="v9g6b"><pre id="v9g6b"></pre></progress>
    <tbody id="v9g6b"></tbody>
    <button id="v9g6b"><acronym id="v9g6b"></acronym></button>
    <rp id="v9g6b"><ruby id="v9g6b"></ruby></rp>

        <dd id="v9g6b"></dd>

        <em id="v9g6b"></em>

          快速开发平台给打印模板的字段绑定值

          快速开发平台打印功能各个字段是怎么绑定值的,前后端该怎么去对应值的绑定?

          如下图快速开发平台打印模板形式,字段名都用$$XXXX$$的方式表现。比如系列名称,我们需要在后台为CName赋值的

          快速开发平台打印模板

          该打印模板是在后台的"模板设置"里面去设置,保存在数据库里面,表名:Template。

          后台代码如下:

                  /// <summary>
                  /// 打印产品系列及其产品信息
                  /// </summary>
                  /// <param name="categoryID"></param>
                  /// <returns></returns>
                  public ActionResult CategoryPrintTemp(string categoryID)
                  {
                      
                      StringBuilder resulttemplateContent = new StringBuilder();
                      Category category = _categoryService.GetCategoryByCategoryID(categoryID);
                      IList<Product> productList = _productService.GetProductsByCategoryID(categoryID);
                      if (category == null)
                      {
                          return ContentNotFound();
                      }
          
                      ITemplateService _templateService = ObjectContainerFactory.CurrentContainer.Resolve<ITemplateService>();
                      ISettingService _settingService = ObjectContainerFactory.CurrentContainer.Resolve<ISettingService>();
                      var systemSetting = _settingService.LoadSetting<SystemSettings>();
          
                      //获取所需要加载的模板
                      Template template = _templateService.GetTemplate(systemSetting.SaleOrderPrintID);
          
                      //加载模板内容,模板管理里面设置
                      string templateContent = template.TemplateContent;
          
                      int datalineStart = templateContent.IndexOf("<tr id=\"dataline\">");
                      int datalineEnd = templateContent.IndexOf("</tr>", datalineStart) + 5;
          
                      int sumlineStart = templateContent.IndexOf("<tr id=\"sumline\">");
                      int sumlineEnd = templateContent.IndexOf("</tr>", sumlineStart) + 5;
          
                      string datalinebefore = templateContent.Substring(0, datalineStart);
                      string dataline = templateContent.Substring(datalineStart, datalineEnd - datalineStart + 1);
                      string tempdataline = dataline;
                      string sumline = templateContent.Substring(sumlineStart, sumlineEnd - sumlineStart + 1);
                      string datalineafter = templateContent.Substring(sumlineEnd + 1);
          
                      datalinebefore = datalinebefore.Replace("$$CName$$", category.Name);
          
                      datalinebefore = datalinebefore.Replace("$$Date$$", String.Format(category.CreateAt.ToString(), "yyyy-mm-dd"));
                      datalinebefore = datalinebefore.Replace("$$CCreateBy$$", category.CreateBy);
          
                      resulttemplateContent.Append(datalinebefore);
          
                      for (int i = 0; i < productList.Count; i++)
                      {
                          tempdataline = dataline;
          
                          tempdataline = tempdataline.Replace("$$SeqNo$$", (i + 1).ToString());
                          tempdataline = tempdataline.Replace("$$PName$$", productList[i].Name);
                          tempdataline = tempdataline.Replace("$$PPrice$$", productList[i].Price.ToString());
                          tempdataline = tempdataline.Replace("$$PIsSale$$", productList[i].IsSale ? "是" : "否");
                          tempdataline = tempdataline.Replace("$$PIsHot$$", productList[i].IsHot ? "是" : "否");
                          tempdataline = tempdataline.Replace("$$PDescript$$", productList[i].Description);
                         
                          resulttemplateContent.Append(tempdataline);
                      }
          
                      resulttemplateContent.Append(datalineafter.Replace("$$CreateBy$$", this.UserName).Replace("$$AuditPerson$$", ""));
          
                      HtmlString htmlString = new HtmlString(resulttemplateContent.ToString());
                      return View(htmlString);
                  }
          在后台代码中我们可以看到这样一段代码:datalinebefore = datalinebefore.Replace("$$CName$$", category.Name);,这个就是给CName赋值的代码。

          快速开发平台打印功能各个字段是怎么绑定值的,前后端该怎么去对应值的绑定?原来是模板静态页面用值去替换占位符来解决的。

          标签: 快速开发框架打印技术系列

          网站&系统开发技术学习交流群:463167176

          本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
          转载请注明:文章转载自:软件开发框架 ? 快速开发平台给打印模板的字段绑定值
          本文标题:快速开发平台给打印模板的字段绑定值
          本文地址:http://www.sajuice.com/OrgTec/Plugin/0023.html

          相关文章: B/S开发框架_怎么为dropdownlist下拉框_绑定后台数据库值

          电话
          电话 18718672256

          扫一扫
          二维码
          本港台开奖 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>