官术网_书友最值得收藏!

Creating controller action

The changes we made in the previous section need to be updated in the SelectList collection, which will be used by MVC to render the drop-down list. By default, MVC scaffolding provides a SelectList (we have commented on that line) that has Id in the Value field and needs to be modified to Url, otherwise it will display only numeric values on the screen (a serious security issue and not so user-friendly):

    public IActionResult Create()
{
//ViewData["BlogId"] = new SelectList(_context.Blog, "Id", "Id");
ViewData["BlogId"] = new SelectList(_context.Blog, "Id", "Url");
return View();
}

The following screenshot shows the Url mapped to the BlogId control, but there is something additional that needs to be fixed. The BlogId should be either just Blog or Blog URL.

I will leave this part as an exercise, kindly make changes to all the labels associated with the BlogId column:

Posts create view

The same change needs to be applied to the Post action of Create as well:

    [HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult>
Create([
Bind("Id,BlogId,Content,PublishedDateTime,Title")]
Post post)
{
...
ViewData["BlogId"] = new SelectList(_context.Blog, "Id", "Url",
post.BlogId);
return View(post);
}

The changes are reflected in the newly included/added items displayed on the screen (the Index action was already modified to list the Blog URLs):

List view with new post

We have updated the references to the Blog ID with Blog URLs in the Post Create (HTTP, GET, and POST) action. Let's update the same on the other actions as well.

主站蜘蛛池模板: 囊谦县| 华阴市| 蓬安县| 伊川县| 临城县| 临城县| 定结县| 株洲县| 来凤县| 龙口市| 东宁县| 麦盖提县| 花莲市| 丰原市| 东莞市| 锡林浩特市| 闸北区| 甘洛县| 武穴市| 铁岭县| 淳化县| 巴彦淖尔市| 海原县| 鄢陵县| 哈尔滨市| 独山县| 张掖市| 宁国市| 镇康县| 嘉峪关市| 鹿泉市| 广丰县| 申扎县| 齐齐哈尔市| 招远市| 台州市| 韶关市| 志丹县| 特克斯县| 会昌县| 德保县|