新增页面的自动生成编号

我使用的方法是先添加一个类,类里面装的方法,到时候需要的时候就可以直接使用

public static string GetAutoIncrement(string AutoIncrementNum,string Num,int Count,string data)
{
            string strAutoNum = "";
            string strTime = DateTime.Now.ToString("yyyyMMdd");
            string strAuto = Num + strTime;
            int zhiZeng = Convert.ToInt32(AutoIncrementNum);
            if (Count == 0 || strTime != data)
            {
                strAutoNum = strAuto + "000";
                return strAutoNum;
            }
            zhiZeng++;
            if (zhiZeng<10)
            {
                string ZhiZeng = zhiZeng.ToString();
                ZhiZeng = "00" + ZhiZeng;
                strAutoNum = strAuto + ZhiZeng;
                return strAutoNum;
            }
            else if (zhiZeng>=10 && zhiZeng<100)
            {
                string ZhiZeng = zhiZeng.ToString();
                ZhiZeng = "0" + ZhiZeng;
                strAutoNum = strAuto + ZhiZeng;
                return strAutoNum;
            }
            else
            {
                string ZhiZeng = zhiZeng.ToString();
                strAutoNum = strAuto + ZhiZeng;
                return strAutoNum;
            }
        }

上面的就是类的方法代码,
然后在页面,因为我这里是新增商品进货单时需要的自动生成单据编号,所以我就需要在新增商品进货单的控制器视图里进行代码的编打,
//自定义方法

string txbBusiNo = "";
var dbCommReplyOrder = (from tbCommReplyOrder in myModels.PW_CommReplyOrder//表
                      orderby tbCommReplyOrder.CommReplyOrderID descending//表的ID
             select tbCommReplyOrder.ReceiptNumber.Trim()//在表中需要生成的编号字段
                 ).ToList();

//因为我需要的编号有14位数,前三位是固定的字母,接着的是日期8位数,后面就是从000开始自动自增的

string SaleLndentNum = dbCommReplyOrder[0].Substring(dbCommReplyOrder[0].Length - 3);
string SaleLndentdata = dbCommReplyOrder[0].Substring(dbCommReplyOrder[0].Length - 11, dbCommReplyOrder[0].Length - 6);
//Number是类的名称
txbBusiNo = EntityClass.Number.GetAutoIncrement(SaleLndentNum, "XDD", dbCommReplyOrder.Count(), SaleLndentdata);
//参数
ViewBag.SaleLndentNum = txbBusiNo;

最后直接把参数传过页面进行了。视图:
在这里插入图片描述
如果你在启动时控制器的

string SaleLndentNum = dbCommReplyOrder[0].Substring(dbCommReplyOrder[0].Length - 3);

这句代码报错,是说明你数据库中没有编号的长度是长达14位的,你自手动添加一条上去然后再刷新即可。

最后再说一种简单的自动生成,只需要在控制器的视图里加上两句代码就行:

//直接获取现在的时间传到页面上
 var Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//参数
 ViewBag.Time = Time;

同样的把参数传过页面进行value="@ViewBag.Time"
视图:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值