c# - 如何将数据从 ASP 表单添加到 MongoDB 集合?
问题描述
我正在尝试制作一个要求输入用户名和密码的表单,并在用户单击“提交”时将值添加到 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; }
}
}
本质上,我希望在单击提交按钮时将输入字段中的文本添加到用户的数据库中。我是新手,所以任何帮助表示赞赏,如果需要更多信息,请告诉我!
解决方案
首先,在我的 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 改变格式和样式
推荐阅读
- uwp - 此提交失败,错误代码为 1201 - Microsoft Store 错误
- sql - 使用 concat 生成文件名
- python - 为什么我的精灵以恒定的速度移动
- constants - SystemVerilog 无法识别常量:错误:范围必须由常量表达式限定
- javascript - Svelte - 绑定子组件的属性
- android - 如何使用 Gradle 文件从 Android Google Source 下载源代码
- java-8 - 这是用正确的java8方式编写的吗?
- ansible - 避免剧本中未使用和未定义的变量
- c# - 我是否需要在逻辑请求端手动将 AsyncLocal 变量的值更改为“Dispose”/“Release”
- reactjs - 如何解决reactjs中的无限循环错误?