← Back
IAmTimCorey June 15, 2026 17m

Adding the Tickets Display Blazor Component - C# on Linux Episode 23

Read full transcript 15 segments
  1. In this video, we're going to add a In this video, we're going to add a tickets app page where we can finally tickets app page where we can finally tickets app page where we can finally see all of our tickets. The page will see all of our tickets. The page will see all of our tickets. The page will call the API and display the tickets, call the API and display the tickets, call the API and display the tickets, allowing us to validate the work we have allowing us to validate the work we have allowing us to validate the work we have done in the past couple of videos. done in the past couple of videos. done in the past couple of videos. This video is part of a series dedicated This video is part of a series dedicated This video is part of a series dedicated to developing C# applications on Linux. to developing C# applications on Linux. to developing C# applications on Linux. Along the way, we are getting a better Along the way, we are getting a better Along the way, we are getting a better knowledge of how Linux works, how to knowledge of how Linux works, how to knowledge of how Linux works, how to make our apps truly cross-platform. make our apps truly cross-platform. make our apps truly cross-platform. And if you haven't already, subscribe to And if you haven't already, subscribe to And if you haven't already, subscribe to this channel to stay informed of new this channel to stay informed of new this channel to stay informed of new episodes as they come out. And if you're episodes as they come out. And if you're episodes as they come out. And if you're looking for even more .NET, SQL, and looking for even more .NET, SQL, and looking for even more .NET, SQL, and other C# content, go to iamtimcorey.com. other C# content, go to iamtimcorey.com. other C# content, go to iamtimcorey.com. All right. Let's come over to our web All right. Let's come over to our web All right. Let's come over to our web project and in here under components and project and in here under components and project and in here under components and pages, we're going to create a new page pages, we're going to create a new page pages, we're going to create a new page called tickets.razor. called tickets.razor. called tickets.razor. Again, we're not using the template for Again, we're not using the template for Again, we're not using the template for this, otherwise we'd do the control this, otherwise we'd do the control this, otherwise we'd do the control shift P and then do new file and then shift P and then do new file and then shift P and then do new file and then look for the the web project and then look for the the web project and then look for the the web project and then come down here to razor component, but come down here to razor component, but come down here to razor component, but we're just going to do it um by hand.

  2. we're just going to do it um by hand. we're just going to do it um by hand. Again, Again, Again, doing these things by hand is actually a doing these things by hand is actually a doing these things by hand is actually a valuable exercise once in a while to valuable exercise once in a while to valuable exercise once in a while to make sure that you keep your skills make sure that you keep your skills make sure that you keep your skills sharp. So, @page and we're going to say sharp. So, @page and we're going to say sharp. So, @page and we're going to say uh tickets. uh tickets. uh tickets. And then we're going to change the And then we're going to change the And then we're going to change the render mode. So, render mode and this is render mode. So, render mode and this is render mode. So, render mode and this is going to be interactive server. going to be interactive server. going to be interactive server. Let's spell that right. And finally, Let's spell that right. And finally, Let's spell that right. And finally, we're going to inject we're going to inject we're going to inject the ticket API client and we'll call it the ticket API client and we'll call it the ticket API client and we'll call it ticket API. ticket API. ticket API. Okay. So, that gets us started. We can Okay. So, that gets us started. We can Okay. So, that gets us started. We can now set a uh page title. now set a uh page title. now set a uh page title. And let's call this tickets. And let's call this tickets. And let's call this tickets. And let's go ahead and give ourselves uh And let's go ahead and give ourselves uh And let's go ahead and give ourselves uh a bit of room there. And then we'll say, a bit of room there. And then we'll say, a bit of room there. And then we'll say, let's put our H1 on the page and say let's put our H1 on the page and say let's put our H1 on the page and say tickets. And then let's create a a simple And then let's create a a simple paragraph here to say paragraph here to say paragraph here to say um this page shows all of the this page um this page shows all of the this page um this page shows all of the this page um um um >> [clears throat] >> [clears throat] >> [clears throat] >> allows us to see >> allows us to see >> allows us to see and modify and modify and modify all of the all of the all of the tickets. Something simple.

  3. tickets. Something simple. tickets. Something simple. Okay. Okay. Okay. Um nothing crazy here. Now what we're Um nothing crazy here. Now what we're Um nothing crazy here. Now what we're going to do is before we go any further going to do is before we go any further going to do is before we go any further in here, I want to set up a code in here, I want to set up a code in here, I want to set up a code section. section. section. So this is So this is So this is um um um going to set us up for success up above going to set us up for success up above going to set us up for success up above because we don't have anything yet to because we don't have anything yet to because we don't have anything yet to display. So we're going to say private display. So we're going to say private display. So we're going to say private list of ticket model. And we'll make that um a nullable list And we'll make that um a nullable list called tickets. called tickets. called tickets. Um and you're yelling at me because I Um and you're yelling at me because I Um and you're yelling at me because I don't think you have the right using, don't think you have the right using, don't think you have the right using, correct? So we need to add a using correct? So we need to add a using correct? So we need to add a using directive which didn't add. I control directive which didn't add. I control directive which didn't add. I control dot and I said dot and I said dot and I said add using and it did not. add using and it did not. add using and it did not. Um so we can just say using and it is Um so we can just say using and it is Um so we can just say using and it is tinyticket.web.models. Now we can also make this easier by Now we can also make this easier by going to our import statement and going to our import statement and going to our import statement and actually let's just do that.

  4. actually let's just do that. actually let's just do that. Um Um Um imports come down here, put that there, imports come down here, put that there, imports come down here, put that there, save that, and now we don't need to have save that, and now we don't need to have save that, and now we don't need to have it here. Okay. So that that kind of solves that Okay. So that that kind of solves that problem. problem. problem. Okay. So now we can say, I don't know Okay. So now we can say, I don't know Okay. So now we can say, I don't know why you tabbed in there, why you tabbed in there, why you tabbed in there, uh private string nullable string error uh private string nullable string error uh private string nullable string error message. message. message. What this will be is this will be a and What this will be is this will be a and What this will be is this will be a and I can start off with um an empty string I can start off with um an empty string I can start off with um an empty string here here here or actually a null string. or actually a null string. or actually a null string. Since it's nullable. Since it's nullable. Since it's nullable. But what it's going to be is if we have But what it's going to be is if we have But what it's going to be is if we have an exception come back from the from the an exception come back from the from the an exception come back from the from the API, we want to make sure we just API, we want to make sure we just API, we want to make sure we just display it in some way. Don't just eat display it in some way. Don't just eat display it in some way. Don't just eat the exception. the exception. the exception. So, I want to create private async task So, I want to create private async task So, I want to create private async task called load tickets async. And this is going to be a try catch. So, And this is going to be a try catch. So, let's do try.

  5. let's do try. let's do try. And in the try catch I'll say error And in the try catch I'll say error And in the try catch I'll say error message equals null to start. message equals null to start. message equals null to start. And then tickets And then tickets And then tickets equals await equals await equals await ticket API.get tickets [snorts] tickets [snorts] not singular not singular not singular async. async. async. And then for our catch And then for our catch And then for our catch we're going to catch our exception ex. we're going to catch our exception ex. we're going to catch our exception ex. If you don't know, you can catch If you don't know, you can catch If you don't know, you can catch different exceptions have multiple different exceptions have multiple different exceptions have multiple catches, but we're just going to catch catches, but we're just going to catch catches, but we're just going to catch the one generic one will catch every the one generic one will catch every the one generic one will catch every exception. exception. exception. So, we can say error message equals So, we can say error message equals So, we can say error message equals string interpolation failed to load string interpolation failed to load string interpolation failed to load tickets and then say why. tickets and then say why. tickets and then say why. ex.message. ex.message. ex.message. Now Now Now this is something you need to think this is something you need to think this is something you need to think about when you're doing error messaging about when you're doing error messaging about when you're doing error messaging and showing to users is and showing to users is and showing to users is you got to look to see if this is going you got to look to see if this is going you got to look to see if this is going to expose any secret information. So, if to expose any secret information. So, if to expose any secret information. So, if you're passing in like you know, the you're passing in like you know, the you're passing in like you know, the full error message not just the dot full error message not just the dot full error message not just the dot message, but the full extent of the the message, but the full extent of the the message, but the full extent of the the exception, then you could be passing in exception, then you could be passing in exception, then you could be passing in things like line numbers and code and things like line numbers and code and things like line numbers and code and the call stack etc. You don't want to do the call stack etc. You don't want to do the call stack etc. You don't want to do that.

  6. that. that. And it going through the API it And it going through the API it And it going through the API it shouldn't do any of that stuff. shouldn't do any of that stuff. shouldn't do any of that stuff. But this is one of those things where But this is one of those things where But this is one of those things where often people don't really pay attention often people don't really pay attention often people don't really pay attention to that and they might expose details to that and they might expose details to that and they might expose details all the way through because they just all the way through because they just all the way through because they just got sloppy in how they did exceptions. got sloppy in how they did exceptions. got sloppy in how they did exceptions. So, we should be locked down pretty So, we should be locked down pretty So, we should be locked down pretty good, so it shouldn't be any problem to good, so it shouldn't be any problem to good, so it shouldn't be any problem to do this. do this. do this. Um I I've checked all of our exceptions Um I I've checked all of our exceptions Um I I've checked all of our exceptions all the way through, so it shouldn't be all the way through, so it shouldn't be all the way through, so it shouldn't be passing data all the way through from passing data all the way through from passing data all the way through from the through the API, um especially once the through the API, um especially once the through the API, um especially once the API is deployed in production. the API is deployed in production. the API is deployed in production. Because how it works in development is Because how it works in development is Because how it works in development is different in production um and we're different in production um and we're different in production um and we're running dev right now. But, um just kind running dev right now. But, um just kind running dev right now. But, um just kind of keep an eye on that, make sure you of keep an eye on that, make sure you of keep an eye on that, make sure you test to make sure you're not exposing um test to make sure you're not exposing um test to make sure you're not exposing um you know, inner secrets that you don't you know, inner secrets that you don't you know, inner secrets that you don't want to expose and only doing that on an want to expose and only doing that on an want to expose and only doing that on an exception. exception. exception. Okay. So, that's it for our Okay. So, that's it for our Okay. So, that's it for our um um um for what we need to do, you know, down for what we need to do, you know, down for what we need to do, you know, down here in the code section. We are Oh, I'm here in the code section. We are Oh, I'm here in the code section. We are Oh, I'm I'm sorry, one more thing we need to do I'm sorry, one more thing we need to do I'm sorry, one more thing we need to do we we've caught had the method, but I we we've caught had the method, but I we we've caught had the method, but I always forget to do this. Um actually always forget to do this. Um actually always forget to do this. Um actually call the method.

  7. call the method. call the method. protected override protected override protected override async async async task on initialized async we call await load tickets async. we call await load tickets async. So, yes, we could do this work right in So, yes, we could do this work right in So, yes, we could do this work right in here and I debated it. But, by naming here and I debated it. But, by naming here and I debated it. But, by naming it, we now know what this does. And so, it, we now know what this does. And so, it, we now know what this does. And so, it's not just a random blob of code in it's not just a random blob of code in it's not just a random blob of code in the on initialize async. We don't have the on initialize async. We don't have the on initialize async. We don't have to like read the code to figure out what to like read the code to figure out what to like read the code to figure out what it's doing. This tells us what it's it's doing. This tells us what it's it's doing. This tells us what it's doing and now it's more self-documenting doing and now it's more self-documenting doing and now it's more self-documenting and um easier to understand. and um easier to understand. and um easier to understand. Besides the fact that we're going to be Besides the fact that we're going to be Besides the fact that we're going to be calling this later calling this later calling this later again. So, um if we ever want to refresh again. So, um if we ever want to refresh again. So, um if we ever want to refresh the page, reload the data, we're going the page, reload the data, we're going the page, reload the data, we're going to call load tickets async. So, um that to call load tickets async. So, um that to call load tickets async. So, um that also is another reason why we would do also is another reason why we would do also is another reason why we would do that. Okay, I can collapse this down that. Okay, I can collapse this down that. Okay, I can collapse this down now. Uh we don't have to see it anymore. now. Uh we don't have to see it anymore. now. Uh we don't have to see it anymore. Now we can come up here and start Now we can come up here and start Now we can come up here and start working in our HTML and and razor working in our HTML and and razor working in our HTML and and razor syntax.

  8. syntax. syntax. So, the first thing we're going to do is So, the first thing we're going to do is So, the first thing we're going to do is we're going to check to see if that we're going to check to see if that we're going to check to see if that error message is showing. Um so, error message is showing. Um so, error message is showing. Um so, @if @if @if error message is not null. And if it's not null, then we're going And if it's not null, then we're going to say div class equals We're using to say div class equals We're using to say div class equals We're using Bootstrap here, so alert alert-danger. Bootstrap here, so alert alert-danger. Bootstrap here, so alert alert-danger. And the role will say equals alert. And the role will say equals alert. And the role will say equals alert. And then we're going to say And then we're going to say And then we're going to say @errorMessage @errorMessage @errorMessage like so. Pretty standard uh error like so. Pretty standard uh error like so. Pretty standard uh error message at the top. This is just a a red message at the top. This is just a a red message at the top. This is just a a red banner that says, "Hey, there's an error banner that says, "Hey, there's an error banner that says, "Hey, there's an error in your call." in your call." in your call." Okay. Now, let's show the actual data. Okay. Now, let's show the actual data. Okay. Now, let's show the actual data. We can We can We can hide this and have our full screen hide this and have our full screen hide this and have our full screen available. available. available. Um we're going to say @if Notice the @ Um we're going to say @if Notice the @ Um we're going to say @if Notice the @ symbol, that's because we're we're symbol, that's because we're we're symbol, that's because we're we're mixing C# into our HTML. So, you say @ mixing C# into our HTML. So, you say @ mixing C# into our HTML. So, you say @ first whenever you do a C# command. So, first whenever you do a C# command. So, first whenever you do a C# command. So, @if [snorts] @if [snorts] @if [snorts] uh uh uh tickets tickets tickets is null.

  9. is null. is null. Because there is a a use case or there's Because there is a a use case or there's Because there is a a use case or there's a case where this list of tickets is a case where this list of tickets is a case where this list of tickets is null, and that's when it first starts null, and that's when it first starts null, and that's when it first starts before it loads. Say a load takes 5 before it loads. Say a load takes 5 before it loads. Say a load takes 5 seconds. Well, then we don't want it to seconds. Well, then we don't want it to seconds. Well, then we don't want it to show a blank page, you want to show show a blank page, you want to show show a blank page, you want to show something. So, this is where we're going something. So, this is where we're going something. So, this is where we're going to say um to say um to say um let's let's let's put a paragraph tag here and we'll put put a paragraph tag here and we'll put put a paragraph tag here and we'll put um um um we'll put an emphasis here as well. we'll put an emphasis here as well. we'll put an emphasis here as well. Um and we'll say loading. Um and we'll say loading. Um and we'll say loading. Like so, because if it's null, then Like so, because if it's null, then Like so, because if it's null, then we're in theory loading. we're in theory loading. we're in theory loading. Because remember that it returns an Because remember that it returns an Because remember that it returns an empty array if it doesn't find any empty array if it doesn't find any empty array if it doesn't find any tickets. tickets. tickets. So, that's where our else if comes in. So, that's where our else if comes in. So, that's where our else if comes in. Else if tickets.count Else if tickets.count Else if tickets.count equals zero. equals zero. equals zero. Now, we don't have to check and make Now, we don't have to check and make Now, we don't have to check and make sure the tickets is not null, but before sure the tickets is not null, but before sure the tickets is not null, but before I checked that here. It won't get down I checked that here. It won't get down I checked that here. It won't get down here if tickets is null. Therefore, we here if tickets is null. Therefore, we here if tickets is null. Therefore, we won't have to do a null check. won't have to do a null check. won't have to do a null check. So, here we can do the same kind of So, here we can do the same kind of So, here we can do the same kind of thing um thing um thing um and we'll actually just copy and paste and we'll actually just copy and paste and we'll actually just copy and paste this.

  10. this. this. And instead of loading, we can say no And instead of loading, we can say no And instead of loading, we can say no tickets found. tickets found. tickets found. Okay? So, that's saying, "Hey, Okay? So, that's saying, "Hey, Okay? So, that's saying, "Hey, there's no tickets in the database." there's no tickets in the database." there's no tickets in the database." Which is going to happen when you first Which is going to happen when you first Which is going to happen when you first start out. start out. start out. Um although we already have tickets, so Um although we already have tickets, so Um although we already have tickets, so we won't see that. we won't see that. we won't see that. Okay. Now is where we get into like the Okay. Now is where we get into like the Okay. Now is where we get into like the the big um the big um the big um layout. And that's where we're going to layout. And that's where we're going to layout. And that's where we're going to do a table. do a table. do a table. And we'll say class equals table. And And we'll say class equals table. And And we'll say class equals table. And that's a a bootstrap class. So, that's a a bootstrap class. So, that's a a bootstrap class. So, it used to be and I'm going back to my it used to be and I'm going back to my it used to be and I'm going back to my early days of web development, we used early days of web development, we used early days of web development, we used to use tables. We also abused tables by to use tables. We also abused tables by to use tables. We also abused tables by using them for layouts. And that's not using them for layouts. And that's not using them for layouts. And that's not okay. That's not the proper way of okay. That's not the proper way of okay. That's not the proper way of laying out um items on a page. Now, laying out um items on a page. Now, laying out um items on a page. Now, tables are very flexible and that's why tables are very flexible and that's why tables are very flexible and that's why we used to use them or again, abuse them we used to use them or again, abuse them we used to use them or again, abuse them um in order to get things to lay out. um in order to get things to lay out. um in order to get things to lay out. Tables are for data. Tables are for data. Tables are for data. And since we're putting data on the And since we're putting data on the And since we're putting data on the page, this is the appropriate use for a page, this is the appropriate use for a page, this is the appropriate use for a table.

  11. table. table. Okay. T head. Okay. T head. Okay. T head. And then in here we can do tr and then And then in here we can do tr and then And then in here we can do tr and then th and say we're going to do the ID th and say we're going to do the ID th and say we're going to do the ID um um um Oops. Um we're going to Can I do a Oops. Um we're going to Can I do a Oops. Um we're going to Can I do a control control control I thought there's the way to duplicate I thought there's the way to duplicate I thought there's the way to duplicate lines. I forget what it is. Um lines. I forget what it is. Um lines. I forget what it is. Um but not a problem. I'll just copy and but not a problem. I'll just copy and but not a problem. I'll just copy and paste. I'm pretty certain there's a way paste. I'm pretty certain there's a way paste. I'm pretty certain there's a way to do it. I'm just blanking on how to do to do it. I'm just blanking on how to do to do it. I'm just blanking on how to do it. it. it. I think we need six. I think we need six. I think we need six. Um so, title, and [snorts] then we have two more and [snorts] then we have two more created created created and completed. and completed. and completed. So, these last two are dates. So, these last two are dates. So, these last two are dates. Okay. So, that's our header. Now, we can Okay. So, that's our header. Now, we can Okay. So, that's our header. Now, we can put our body in. put our body in. put our body in. So, T body. So, T body. So, T body. And in here, we're going to do a at for And in here, we're going to do a at for And in here, we're going to do a at for each.

  12. each. each. And we'll say for each var And we'll say for each var And we'll say for each var um um um for each at let's go with uh ticket for each at let's go with uh ticket for each at let's go with uh ticket model. model. model. Uh ticket in tickets. Uh ticket in tickets. Uh ticket in tickets. How about that? And then How about that? And then How about that? And then we will say we will say we will say TR TR TR for [snorts] row, and then TD, and I am for [snorts] row, and then TD, and I am for [snorts] row, and then TD, and I am going to say at ticket.id. going to say at ticket.id. going to say at ticket.id. And then again, I'm going to copy and And then again, I'm going to copy and And then again, I'm going to copy and paste this. So, 2 3 4 5 6. paste this. So, 2 3 4 5 6. paste this. So, 2 3 4 5 6. So, this will be ticket title, So, this will be ticket title, So, this will be ticket title, and this will be ticket description, and this will be ticket description, and this will be ticket description, and this will be priority, and this will be priority, and this will be priority, and this will be and this will be and this will be uh date created. uh date created. uh date created. But, it might be null, but if it's not But, it might be null, but if it's not But, it might be null, but if it's not null, so I'm going to put a question null, so I'm going to put a question null, so I'm going to put a question mark first. If it's not null, then put mark first. If it's not null, then put mark first. If it's not null, then put to short date string. Um to short date string. Um to short date string. Um this is optional. You can format in this is optional. You can format in this is optional. You can format in different ways. I'm going to format to a different ways. I'm going to format to a different ways. I'm going to format to a short date street string, which is put short date street string, which is put short date street string, which is put the date on it. Now, for a ticket the date on it. Now, for a ticket the date on it. Now, for a ticket system, you might want to have a date system, you might want to have a date system, you might want to have a date and time because you want more precision and time because you want more precision and time because you want more precision on on that. That's totally fine. But, on on that. That's totally fine. But, on on that. That's totally fine. But, for me, I'm just going to put a short for me, I'm just going to put a short for me, I'm just going to put a short date string, date string, date string, um and we'll call it good.

  13. And the last one is uh date completed. And the last one is uh date completed. And again, if it's not null, then to And again, if it's not null, then to And again, if it's not null, then to short date string. short date string. short date string. Like so. Oops, no semicolon. Like so. Oops, no semicolon. Like so. Oops, no semicolon. Okay. So, Okay. So, Okay. So, this right here is important because this right here is important because this right here is important because both of these are nullable. Um, if it's both of these are nullable. Um, if it's both of these are nullable. Um, if it's null, it's not going to do anything. null, it's not going to do anything. null, it's not going to do anything. It's going to leave it blank. But, if it It's going to leave it blank. But, if it It's going to leave it blank. But, if it isn't null, then we're going to format isn't null, then we're going to format isn't null, then we're going to format for a short date string. for a short date string. for a short date string. Okay. So, that should be everything we Okay. So, that should be everything we Okay. So, that should be everything we need on this page. So, let's save this. need on this page. So, let's save this. need on this page. So, let's save this. Let's come back over here. Remember Let's come back over here. Remember Let's come back over here. Remember before I talked about in layout nav before I talked about in layout nav before I talked about in layout nav menu. We're going to change counter. So, menu. We're going to change counter. So, menu. We're going to change counter. So, we're going to say we're going to say we're going to say uh tickets. We call it tickets or uh tickets. We call it tickets or uh tickets. We call it tickets or ticket. ticket. ticket. Uh, we should call it tickets. We did. Uh, we should call it tickets. We did. Uh, we should call it tickets. We did. Good. Good for us. Good. Good for us. Good. Good for us. And then, we'll worry about the icon, And then, we'll worry about the icon, And then, we'll worry about the icon, um, but over here we'll say tickets. um, but over here we'll say tickets. um, but over here we'll say tickets. We can change the icon here, the by plus We can change the icon here, the by plus We can change the icon here, the by plus square fill thing. square fill thing. square fill thing. Um, but I'm not going to bother. I'm Um, but I'm not going to bother. I'm Um, but I'm not going to bother. I'm going to leave it as is. going to leave it as is. going to leave it as is. Now, we should be able to come over here Now, we should be able to come over here Now, we should be able to come over here to our run to our run to our run and run this and see our list of tickets and run this and see our list of tickets and run this and see our list of tickets if it's working properly. And if it's if it's working properly. And if it's if it's working properly. And if it's not, we'll see it broken.

  14. Okay. So, and this is again where the Okay. So, and this is again where the that um calling HTTP client was was so that um calling HTTP client was was so that um calling HTTP client was was so helpful because helpful because helpful because it we don't have to do anything with it we don't have to do anything with it we don't have to do anything with front end. We can just say, "Hey, go get front end. We can just say, "Hey, go get front end. We can just say, "Hey, go get the tickets." the tickets." the tickets." Okay. So, tickets. Okay. So, tickets. Okay. So, tickets. Wait for it. Oh, you know what? I Wait for it. Oh, you know what? I Wait for it. Oh, you know what? I haven't started my database, I bet. haven't started my database, I bet. haven't started my database, I bet. It's going to time out. Cool. Let's come It's going to time out. Cool. Let's come It's going to time out. Cool. Let's come back over here. back over here. back over here. Let's go to SQL Server. Let's go to SQL Server. Let's go to SQL Server. Starting container. Starting container. Starting container. Yep. Yeah, it it um timed out. So, Yep. Yeah, it it um timed out. So, Yep. Yeah, it it um timed out. So, if we go back to if we go back to if we go back to back to here. back to here. back to here. There we go. There we go. There we go. So, there you go. So, I have um So, there you go. So, I have um So, there you go. So, I have um four tickets. And the last one was four tickets. And the last one was four tickets. And the last one was completed Uh, on 515 but the other three completed Uh, on 515 but the other three completed Uh, on 515 but the other three are not. So are not. So are not. So we now have a list of all of our tickets we now have a list of all of our tickets we now have a list of all of our tickets on the page. Now we can't do anything on the page. Now we can't do anything on the page. Now we can't do anything yet. We can't add tickets. We can't yet. We can't add tickets. We can't yet. We can't add tickets. We can't modify tickets. We can't complete modify tickets. We can't complete modify tickets. We can't complete tickets. We can't delete tickets. We're tickets. We can't delete tickets. We're tickets. We can't delete tickets. We're going to get to that in the future going to get to that in the future going to get to that in the future videos but for now we actually have a videos but for now we actually have a videos but for now we actually have a working application that's going all the working application that's going all the working application that's going all the way out to our database through our API way out to our database through our API way out to our database through our API and back and back and back using using using like multiple different projects. We can like multiple different projects. We can like multiple different projects. We can actually see that yes, we have have actually see that yes, we have have actually see that yes, we have have exceptions.

  15. exceptions. exceptions. That's a That's a That's a we had the problem we had the problem we had the problem because the database was not working and because the database was not working and because the database was not working and there is the whole exception. there is the whole exception. there is the whole exception. If you want to look at the um If you want to look at the um If you want to look at the um the console the console the console we can see we can see we can see all the problems that happened but then all the problems that happened but then all the problems that happened but then since then we have all of our executions since then we have all of our executions since then we have all of our executions working and should they should work. Um working and should they should work. Um working and should they should work. Um so this is so this is so this is this is our working application right this is our working application right this is our working application right now now now with our tickets. So next up what we'll with our tickets. So next up what we'll with our tickets. So next up what we'll do is I think we'll probably end up do is I think we'll probably end up do is I think we'll probably end up creating tickets next. That's probably creating tickets next. That's probably creating tickets next. That's probably the next logical step before we start the next logical step before we start the next logical step before we start working on working on working on modifying and deleting tickets. All modifying and deleting tickets. All modifying and deleting tickets. All right. So that's kind of next. Until right. So that's kind of next. Until right. So that's kind of next. Until then the source code is down the then the source code is down the then the source code is down the description. Thanks for watching as description. Thanks for watching as description. Thanks for watching as always I am Tim Corey.

Summary

This video focuses on creating a new "tickets" page in a C# Linux application to display ticket data fetched from an API. It emphasizes the importance of hands-on coding and cross-platform development best practices. The key takeaway is learning to integrate API calls into Blazor components for practical application validation.

View original episode ↗