作为一项学习练习,我正在尝试使用SQL数据库设置用html和c#编写的网页。我目前正在尝试使用可从任何地方调用的可重用函数将预定义数据添加到数据库。单击按钮时应添加数据。在我的App_Code文件夹中,我有一个名为Functions.cshtml的文件,其中包含以下内容:
@using System.Web.Mvc;
@using System.Text;
@functions {
public static void AddNewProduct(string ProductName, string Category, double Price, double PurchasePrice, int Stock)
{
var db = Database.Open("Cafeen");
db.Execute("INSERT INTO Products (ProductName, Category, Price, PurchasePrice, Stock) VALUES(@0, @1, @2, @3, @4)", ProductName, Category, Price, PurchasePrice, Stock);
Response.Redirect("~/Members/Products");
}
}
在另一个名为TestArea.cshtml的文件中,我有以下内容:
@{
Layout = "~/_Layout.cshtml";
Page.title = "TestArea";
}
@if(IsPost){
Functions.AddNewProduct("Jolly", "Sodavand", 12.00, 8.00, 120);
}
<p><input type="submit" name="TestSubmit" value="Add product" /></p>
以前只使用过F#,我不知道如何让这些不同的部分一起工作,或者我的AddNewProduct实现是否正确。有什么建议?我希望我没有问过一个愚蠢的问题。
提前致谢!
答案 0 :(得分:0)
我认为问题可能不在于表格。使TestArea.cshtml看起来更像:
@if(IsPost)
{
<h1>Yes, it Posted<h1>
// Functions.AddNew...... like you had it
}
<form method="post">
something: <input type="text" name="enter name"><br>
<input type="submit" name="TestSubmit" value="Add product" />
</form>
我已添加了表单,并暂时注释掉了您的功能。首先确保帖子工作,然后使功能正常工作。如果帖子确实有效,我们就会在上面写上这些帖子,你会看到是的,它有效!显示在您的页面中。
关于这些函数,我们在app_code中创建了一个纯.cs文件,里面只有c#代码。这意味着你必须创建类而不是函数,但无论如何都可能更接近F#。