ASP.NET - Ayuda plis!! Asp.net core 3.1 BLAZOR SERVER

 
Vista:
Imágen de perfil de Maria

Ayuda plis!! Asp.net core 3.1 BLAZOR SERVER

Publicado por Maria (2 intervenciones) el 20/11/2021 07:26:57
Tengo dos tablas la primera: dbo.Article con sus campos Id, Title, CategoryId, Price.

y la segunda: dbo.Category con sus campos Id , Name, Description.

y quiero insertar en mi tabla dbo.Article la categoria pero que se guarde como su Id en el campo CategoryId, además de que me muestre el nombre del campo Name de la tabla dbo.Category en un combobox para seleccionarlo e insertarlo en la tabla dbo.Article

Nota: ESTOY TRABAJANDO CON APLICACIÓN DE BLAZOR SERVER ASP.NET CORE 3.1 PLIS AYUDENME!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 165
Oro
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

Ayuda plis!! Asp.net core 3.1 BLAZOR SERVER

Publicado por Miguel (72 intervenciones) el 21/11/2021 17:50:49
Agrega lo que lleves, asi no se pueden sugerir cambios o procedimientos.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Maria

Ayuda plis!! Asp.net core 3.1 BLAZOR SERVER

Publicado por Maria (2 intervenciones) el 22/11/2021 23:44:07
El siguiente codigo me sirve para obtener una lista de mis categorias de mi base de datos
1
2
3
4
5
6
7
8
public Task<List<ArticleModels>> GetArticle()
        {
            string sql = "Select * from dbo.Article  ";
            return _db.LoadData<ArticleModels, dynamic>
                (sql, new
                { });
 
        }
y este el diseño de que me aparece en mi pantalla de inicio en donde muestro los articulos ingresados y las opciones para ingresar uno nuevo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
@page "/Data/Article"
@attribute [Authorize(Roles = "admin")]
 
@using FerrDataAccess.Models
@using FerrDataAccess.Data
@using BlazorServer.Models
@using Microsoft.AspNetCore.Mvc.Rendering;
 
@inject IArticleData _db
@inject ICategoryData _ca
 
<h1>Pagina de Articulos</h1>
<h4>Insertar Articulos</h4>
<EditForm Model="@newArticle" OnValidSubmit="@InsertArticle">
    <DataAnnotationsValidator />
    <ValidationSummary />
    <head>
        <style type="text/css">
            label {
                width: 100px;
                display: inline-block;
            }
        </style>
    </head>
 
    <label>Title</label> <InputText id="title" @bind-Value="newArticle.Title" />
    <p></p>
//Aqui quiero seleccionar mis categorias que tengo en mi base de datos*/
    <label>Category</label><InputSelect  @bind-Value="newArticle.CategoryId"></InputSelect>
    <p> </p>
    <label>Price</label> <InputNumber @bind-Value="newArticle.Price" />
    w
 
    <button type="submit" class="btn btn-primary">Agregar</button>
</EditForm>
 
<h4>Articulos</h4>
@if (article is null)
{
    <p><em>Loading...</em></p>
}
else
{
    <table class="table table-striped">
        <thead>
            <tr>
                <th>Titulo</th>
                <th>Categoria</th>
                <th>Precio</th>
            </tr>
        </thead>
        <tbody>
            @foreach (var arti in article)
            {
                <tr>
                    <td>@arti.Title</td>
                    <td>@arti.CategoryId</td>
                    <td>@arti.Price</td>
                </tr>
            }
        </tbody>
 
    </table>
}
 
 
@code {
    private List<ArticleModels> article;
    private List<CategoryModels> category;
 
 
 
 
    private DisplayArticleModels newArticle = new DisplayArticleModels();
 
 
    protected override async Task OnInitializedAsync()
    {
        article = await _db.GetArticle();
 
 
    }
 
 
    private async Task InsertArticle()
    {
        ArticleModels a = new ArticleModels
        {
            Title = newArticle.Title,
            CategoryId = newArticle.CategoryId,
            Price = newArticle.Price
 
        };
        await _db.InsertArticle(a);
        article.Add(a);
 
        newArticle = new DisplayArticleModels();
    }
 
//Este de aqui es el que intente hacer para meter en una lista solo los items nombre
//pero tomado como referencia por el id de cada categoria   pero nose como ponerlo dentro del inputselect
    private async Task GetCategoria()
    {
        // CategoryModels c =new CategoryModels
        var cate = await _ca.GetCategory();
        catelist = new List<SelectListItem>();
 
        cate.ForEach(
            x =>
            {
                catelist.Add(
                    new SelectListItem
                    {
                        Value = x.Id.ToString(),
                        Text = x.Name
                    });
            });
 
    }
 
 
    public List<SelectListItem> catelist { get; set; }
 
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar