gpt4 book ai didi

c# - 使用 C# MVC4 Razor 将表单输入保存到数据库中?

转载 作者:行者123 更新时间:2023-11-29 12:14:59 25 4
gpt4 key购买 nike

我一整天都在寻找解决我的问题的方法,但我找不到明确的答案,或者我只是不明白它们

我使用 Visual Studio 创建一个用于搜索事件的网站。我的问题是我无法将用户在创建用户表单中输入的信息保存在我的数据库中。

我的按钮如下所示:

 <button type="submit" value="Submit" onclick="Submit">Opret Bruger</button>

它调用一个名为“Submit”的方法,它看起来像这样(打开我的数据库:

public static MySqlConnection GetConnection(string host, string user, string pwd, string db)
{
string conStr = string.Format("server={0};uid={1};pwd={2};database={3}", host, user, pwd, db);
var con = new MySqlConnection();
con.ConnectionString = conStr;
con.Open();
return con;
}

public static MySqlConnection GetDefaultConnection()
{
return GetConnection("localhost", "root", "", "EventCrush");
}

public static void Submit(string Fornavn, string Efternavn, string Email, int Telfonnummer, string Brugernavn, byte Avatar, string Kodeord, DateTime Fødselsdag)
{
var con = GetDefaultConnection();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = con;
cmd.CommandText = "insert into private_user values (@Username, @PW, @Birthdate, @FirstName, @LastName, @Eamail, @PhoneNumber)";
cmd.Prepare();
cmd.Parameters.AddWithValue("@Username", Brugernavn);
cmd.Parameters.AddWithValue("@PW", Kodeord);
cmd.Parameters.AddWithValue("@Birthdate", Fødselsdag);
cmd.Parameters.AddWithValue("@FirstName", Fornavn);
cmd.Parameters.AddWithValue("@LastName", Efternavn);
cmd.Parameters.AddWithValue("@Email", Email);
cmd.Parameters.AddWithValue("@PhoneNumber", Telfonnummer);
cmd.ExecuteNonQuery();
if (con != null) { con.Close(); }
}

我似乎无法让它在我的数据库中保存任何内容,任何人都可以帮助我检测我的问题吗?

最佳答案

这不是 MVC 的工作原理。看起来您正在尝试将其当作 Web 表单来使用。在 MVC 中,服务器端和客户端之间有非常明显的区别。也就是说,您的 Submit 函数仅存在于服务器端,而尝试调用它的 HTML 按钮仅存在于客户端。当它被渲染时,Submit 方法就不再存在了。

您需要对某个操作进行实际的表单发布,将其保存到数据库,或者使用 AJAX 发布到操作而不导致页面重新加载。无论哪种方式,您都需要一个实际操作来充当表单帖子的端点。

关于c# - 使用 C# MVC4 Razor 将表单输入保存到数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29972423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com