首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Razor pages WebApplication中将post从文本区保存到数据库

在Razor pages WebApplication中将post从文本区保存到数据库
EN

Stack Overflow用户
提问于 2018-06-05 04:53:19
回答 1查看 553关注 0票数 0

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

当我运行应用程序并尝试post时,这两种方法似乎都不起作用。我在数据库中为TextUserId获取了一个null条目。

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

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

代码语言:javascript
复制
    @using Microsoft.AspNetCore.Identity
    @inject UserManager<ApplicationUser> UserManager
    @model IndexModel
    @{
        ViewData["Title"] = "Home page";
    }
    <form asp-route-returnUrl="@Model.ReturnUrl" method="post" enctype="multipart/form-data" asp-controller="UploadFiles" asp-action="Index">
        <div class="form-group">
            <p>You are connected and can post as @UserManager.GetUserId(User)</p>
            <textarea name="txt" id="mytextarea" rows="2" cols="80" asp-for="Posts.Text" >
            </textarea>
        </div>
        <br />
        <div class="form-group">
            <input type="submit" value="Post" class="btn btn-default" />
        </div>
    </form>

.cs文件的相关代码:

代码语言:javascript
复制
    private readonly proj.Data.ApplicationDbContext _context;

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

        return Page();
    }

对于UserManager,我得到了一个“未分配的局部变量”错误。您能帮我正确获取textarea的内容,并正确定义UserManager吗?

EN

回答 1

Stack Overflow用户

发布于 2018-06-05 07:53:13

我解决了textarea的问题。代码行应该是这样的:

代码语言:javascript
复制
<textarea asp-for="Posts.Text" id="mytextarea" rows="2" cols="80" class="form-control"></textarea>

我忘了包含class="form-control",而name="txt"不知何故造成了问题,需要省略。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50688612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档