【问题标题】:How to add data from ASP form to MongoDB collection?如何将数据从 ASP 表单添加到 MongoDB 集合?
【发布时间】:2021-06-25 15:14:17
【问题描述】:

我正在尝试制作一个要求输入用户名和密码的表单,并在用户单击“提交”时将值添加到 MongoDB 集合中。我已经知道如何通过调用 Get() 方法 OnGet() 来列出所有用户,但我对将数据发布到数据库感到困惑。

这是我的表格:

                <form method="post">
                    <fieldset>
                        <legend>User Creation</legend>
                        <input type="text" name="input_username" value="Enter a username" />
                        <br />
                        <input type="text" name="input_password" value="Enter a password" />
                        <br />
                        <input type="submit" name="submit" value="Submit" />
                    </fieldset>
                </form>

这是我的 User.cs 模型

using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;

namespace project.Model {
    public class User {
        [BsonId][BsonRepresentation(BsonType.ObjectId)]
        public string Id { get; set; }
        public int UID {get; set;}
        public string Username {get; set;}
        public string Password { get; set; }
    }
}

基本上,我希望在单击提交按钮时将输入字段中的文本添加到用户的数据库中。我是新人,因此不胜感激,如果需要更多信息,请告诉我!

【问题讨论】:

    标签: c# asp.net mongodb forms post


    【解决方案1】:

    使用来自this website的信息解决了我自己

    首先,我在我的 PageModel 中添加了我的用户服务和以下内容

    public UsersService DBservice;
    public string Username { get; set; }
    public string Password { get; set; }
    public int UID { get; set; }
    

    然后,OnPostSubmit:

    public void OnPostSubmit(User newuser)
    {
        this.Username = newuser.Username;
        this.Password = newuser.Password;
        this.UID = newuser.UID;
        DBservice.Create(newuser);
    
    }
    

    DBservice.Create() 看起来像:

        public User Create(User user)
        {
        _users.InsertOne(user);
        return user;
        }
    

    最后,我的表单如下所示:

    <form>
        <table>
            <tr>
                <td>Username: </td>
                <td><input type="text" id="txtUserName" name="Username"/></td>
            </tr>
            <tr>
                <td>Password: </td>
                <td><input type="text" id="txtPassword" name="Password" /></td>
            </tr>
            <tr>
                <td>UID: </td>
                <td><input type="text" id="txtUID" name="UID" /></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" value="Submit" asp-page-handler="Submit"/></td>
            </tr>
        </table>
        <hr/>
    </form>
    

    虽然我即将使用 Bootstrap 更改格式和样式

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 2020-11-12
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 2016-10-29
      相关资源
      最近更新 更多