Member 14635770 Ответов: 0

Почему объект, который я пытался получить из строки запроса, пуст?


Я пытаюсь создать блог-сайт с помощью asp.net ядро 3.1. я хочу добавить комментарий к сообщению в блоге, но не могу получить строку quarystring, на которую я разместил сообщение в блоге.

Я поделился своими кодами следующим образом. Теперь, какова причина, по которой идентификатор из строки quarystring всегда возвращает 0?

Или в какой ситуации я постоянно делаю что-то не так?

Вероятно, есть очень простое решение, но оно заняло у меня весь день, пожалуйста, не могли бы вы помочь?

Сущность;
public class Content : IEntity
{
    public int Id { get; set; }
    public int CategoryId { get; set; }
    public int UserId { get; set; }
    public virtual List<ContentComment> ContentComments { get; set; }
}

public class ContentComment : IEntity
{
    public int id { get; set; }
    public int UserId { get; set; }
    public int ContentId { get; set; }
    public string Comment { get; set; }
    public DateTime CommnetCreateTime{ get; set; }
    

    public virtual Content Contents { get; set; }
}


Контроллер :

public class BlogContentController : Controller
{
    
    private IBlogService _blogService;
    private IContentCommentsServices _contentCommentsServices;

    public BlogContentController(IBlogService blogService, IContentCommentsServices contentCommentsServices)
    {
        _blogService = blogService;
        _contentCommentsServices = contentCommentsServices;
    }

    public IActionResult Index(int id)
    {
        var blogModel = new ContentViewModel
        {
            Blogs = _blogService.GetById(id)
        };

        return View(blogModel);
    }
    public IActionResult CommentAdd()
    {
        var model = new ContentCommendViewModel()
        {
            ContentComments = new List<ContentComment>()
        };
        return Ok();
    }
    [HttpPost]
    public IActionResult CommentAdd(ContentComment contentComment)
    {

        contentComment.ContentId = Convert.ToInt32(HttpContext.Request.Query["id"]);
        _contentCommentsServices.Add(contentComment);
        return RedirectToAction("CommentAdd");
    }
}


обзорная страница :

<div class="media-body mt-2" id="yorumyap">
    <h5>Yorum Bırakın</h5>
    <form asp-controller="BlogContent" asp-action="CommentAdd">

        <div class="form-group">
            <textarea name="Comment" class="form-control form-control-sm" rows="3" style="resize: none;" id="commenttext"></textarea>
        </div>
        <div class="text-right">
            <button type="submit" class="btn btn-tekisimbilsim mb-2" id="commendAdd">Yorum Yap</button>
        </div>
    </form>
</div>


Что я уже пробовал:

Мне нужен блок кода, который может динамически комментировать. Или, Пожалуйста, скажите мне, чего мне не хватает в этом коде.

Пожалуйста, помогите мне.

0 Ответов