在MVC中如何实现自动编号,如下图一样,在添加新文章的时候,ID这个字段让它自动生成,而不是用户输入,当删除了ID为2的文章,后面的ID为3的文章如何变为2呢?
如果文章太多,你每次删除前面的文章,后面的文章都要全部修改一次编号,实在是不可取……
用户输入的时候不输入id,在后台自动生成id或数据库id自动加一,然后存入数据库,取数据并显示的时候,id列另外处理成连续的数字就好了……你觉得呢?这样满足了你的要求么?
这个ID号要在数据库里面处理吧,使用Row_numer()排出来的,不是数据库的固有字段
操作后 数据源 重新生成编号。
这个你可以在查询的时候加入,只要在model上加一个字段来记录就行了,或者在页面上加入,只是这样想自动更改编号的话,可能要删除的时候同时刷新下页面
如何加入,小弟不解
@Monkey5152: 查询的时候加入:
using(var db=DBDataContent()) int i=0; var templist= from a in db.XX slect xxMOdel{ num=i++, xx=xx }
页面加入
@{ int i=0; <tr> <td> @i++ </td> <td> model.XX </td> </tr> }
在选取数据的时候就设置好这个顺序编号,或者你读取数据到list<你定义的model>的时候,有个字段是自动的编号的
当删除了ID为2的文章,后面的ID为3的文章如何变为2呢?
你确定你需要这种业务逻辑?
1 @(Model.ItemsPerPage * (Model.CurrentPage - 1) + i)
试试这样