您的位置:威尼斯官方网站 > 威尼斯官方网站登录 > 自笔者去试试前端能否开始化新闻进DB

自笔者去试试前端能否开始化新闻进DB

发布时间:2019-11-01 09:53编辑:威尼斯官方网站登录浏览(104)

    前面的书屋伊始化的前端音讯已经到家,所以后后初叶落到实处DB的Script部分。

    新增Action:Shelf_Init.sql

    图片 1

    svc.sql

    1 CREATE SCHEMA [svc]
    2     AUTHORIZATION [dbo];
    

    Shelf_Init.sql

     1 CREATE PROCEDURE [svc].[Shelf$Init](@json nvarchar(max))
     2 WITH ENCRYPTION
     3 AS
     4 BEGIN
     5     SET    NOCOUNT    ON;
     6     SET XACT_ABORT ON;
     7     BEGIN TRY
     8         BEGIN    TRAN;
     9 
    10         declare    @nickName nvarchar(20), @shelfName nvarchar(20);
    11         select    @nickName=NickName,     @shelfName=ShelfName
    12         from    openjson (@json, '$')
    13         with (
    14             NickName        nvarchar(20),
    15             ShelfName        nvarchar(20)
    16         );
    17 
    18         insert    core._Party(Type, Alias) select k._User, @nickName
    19         from    core.Party#Type() k;
    20         declare    @userID int=@@identity;
    21 
    22         
    23         insert    core._Party(PID, Type, Alias) select @userID, k._Shelf, @shelfName
    24         from    core.Party#Type() k;
    25 
    26         COMMIT    TRAN;
    27     END TRY
    28     BEGIN CATCH
    29         if (xact_state() = -1) ROLLBACK TRAN; throw;
    30     END CATCH
    31 END
    

    好了,作者去试试前端能否开首化新闻进DB

    ....

    在测量检验在此以前,大家需求完成一下Init Razor Pages代码:

    Init.cshtml.cs

     1     using M = Shelf;
     2     public class InitModel : PageModel
     3     {
     4         private readonly IShelfRepo _shelfRepo;
     5         public InitModel(IShelfRepo shelfRepo)
     6         {
     7             _shelfRepo = shelfRepo;
     8         }
     9         [BindProperty]
    10         public InitInputModel Input { get; set; }
    11 
    12         public void OnGet()
    13         {
    14 
    15         }
    16 
    17         public async Task<IActionResult> OnPostAsync()
    18         {
    19             if (ModelState.IsValid)
    20             {
    21                 await _shelfRepo.InitAsync(new M.InitSpec
    22                 {
    23                     NickName = Input.NickName.Trim(),
    24                     ShelfName = Input.ShelfName.Trim()
    25                 });
    26                 return RedirectToPage("New");
    27             }
    28             return Page();
    29         }
    30     }
    

    页面内容也需求修正一下form部分

    Init.cshtml

     1 <form method="post">
     2     <div class="form-group form-group-lg">
     3         <label asp-for="Input.NickName"></label>
     4         <input class="form-control form-control-lg" asp-for="Input.NickName" autocomplete="off">
     5         
     6     </div>
     7     <div class="form-group form-group-lg">
     8         <label asp-for="Input.ShelfName"></label>
     9         <input class="form-control form-control-lg" asp-for="Input.ShelfName" autocomplete="off">
    10         
    11     </div>
    12     <div class="form-group text-right">
    13         <button class="btn btn-warning btn-lg" type="submit">Save</button>
    14     </div>
    15 </form>
    

    填写不动书房的信息:

    图片 2

     

     点击Save按键提交,OK,平时提交了并跳转了。

    翻看下DB有未有数量:

    图片 3

    嘿嘿,看来一切寻常。

     

    本文由威尼斯官方网站发布于威尼斯官方网站登录,转载请注明出处:自笔者去试试前端能否开始化新闻进DB

    关键词: