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

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.

主站蜘蛛池模板: 奉新县| 汪清县| 海林市| 莱州市| 北安市| 佳木斯市| 澄迈县| 邯郸县| 望江县| 日喀则市| 南汇区| 永春县| 红安县| 千阳县| 潞西市| 博野县| 托克托县| 辉县市| 蒙阴县| 丹棱县| 深圳市| 蓝山县| 博兴县| 饶平县| 宁远县| 阿拉善右旗| 绥化市| 定日县| 临朐县| 禹州市| 怀仁县| 陆丰市| 邳州市| 康乐县| 衡南县| 阜新| 广安市| 河北区| 石城县| 双桥区| 石家庄市|