C# 将文章从textarea保存到Razor pages Web应用程序中的数据库

C# 将文章从textarea保存到Razor pages Web应用程序中的数据库,c#,html,asp.net,web-applications,razor-pages,C#,Html,Asp.net,Web Applications,Razor Pages,我正试图在Visual Studio中的ASP.NET核心Web应用程序上构建一个社交网络。 这里有会员和一堵墙,会员可以在那里发表文章。 我正在使用Tinymce作为带有编辑工具的textarea,我应该将textarea中的文本以HTML格式保存到本地Visual Studio数据库中,以及正在发布的已连接用户的用户ID 当我运行应用程序并尝试发布时,这两种方法似乎都不起作用。我在数据库中得到了文本和用户ID的空条目 虽然UserManager在.cshtml文件上正常工作并返回UserId

我正试图在Visual Studio中的ASP.NET核心Web应用程序上构建一个社交网络。 这里有会员和一堵墙,会员可以在那里发表文章。 我正在使用Tinymce作为带有编辑工具的textarea,我应该将textarea中的文本以HTML格式保存到本地Visual Studio数据库中,以及正在发布的已连接用户的用户ID

当我运行应用程序并尝试发布时,这两种方法似乎都不起作用。我在数据库中得到了文本和用户ID的空条目

虽然UserManager在.cshtml文件上正常工作并返回UserId,但我无法让它在.cs文件上工作

到目前为止,.cshtml文件的相关代码:

@使用Microsoft.AspNetCore.Identity @注入用户管理器用户管理器 @模型索引模型 @{ ViewData[标题]=主页; } 您已连接,可以作为@UserManager.GetUserIdUser发布

您似乎使用了依赖注入,所以可以尝试构造函数注入

private readonly proj.Data.ApplicationDbContext _context;

private UserManager<Data.ApplicationUser> _userMannger;

public IndexModel(proj.Data.ApplicationDbContext context, 
   UserManager<Data.ApplicationUser> user)
{
   _userMannger= user;
    _context = context;
}   
public Models.Posts Posts { get; set; }
public async Task<IActionResult> OnPostAsync(string returnUrl = null)
{
    var post = new Models.Posts {UserId = _userMannger.GetUserId(User), Text = Posts.Text };
    _context.Posts.Add(post);
    await _context.SaveChangesAsync();

    return Page();
}
我解决了文本区域的问题。 行应该是这样的:

<textarea asp-for="Posts.Text" id="mytextarea" rows="2" cols="80" class="form-control"></textarea>

我忘了包括class=form控件和name=txt,不知何故导致了一个问题,需要省略。

您能显示UserManager类中的代码吗?它不是我自己的类。这是一个来自Microsoft.AspNetCore.Identity的类。我以前试过。我明白了,没有给出与“UserManager…”所需的形式参数“store”相对应的参数。非常感谢!UserManager部分现在可以工作了。您是否有可能帮助我从文本区域获取文本值?