我的基本问题是如何在列表中选择所选值并在SQL INSERT语句中使用该值。 我有2张桌子 - 联系人和称呼。当要插入记录时,从列表中选择一个称呼(先生,夫人,博士等)。为了方便起见,我只包括处理这个的代码。 代码实际上是按原样运行的,但是,我觉得我的解决方案是可疑的。 这是代码: -
@{
var Saln="";
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<Form method="post" action="">
<select name="Choice">
@{
var db1 = Database.Open("Contact");
var selectCommand1 = "SELECT ID, Saln FROM Salutation";
var selectedData1 = db1.Query(selectCommand1);
foreach(var row1 in selectedData1)
{
<option value="@row1.ID">@row1.Saln</option>
}
}
</select>
@{
if (Request["Choice"] != null)
{
var Sal=Request["Choice"];
var db = Database.Open("Contacts");
var insertCommand = "INSERT INTO Contacts (Saln) VALUES( "+Request["Choice"]+')';
db.Execute(insertCommand,Saln );
}
}
<input type="submit" value="Submit" />
</form>
</body>
</html>
不接受变量Sal或@ 0。
答案 0 :(得分:0)
也许您应该遵循ASP.NET WebPages的优秀教程,例如http://www.asp.net/web-pages/tutorials上的那些。
无论如何,您的代码可能是:
@{
var Saln="";
var db1 = Database.Open("Contact");
var selectCommand1 = "SELECT ID, Saln FROM Salutation";
var selectedData1 = db1.Query(selectCommand1);
if(IsPost)
{
if (Request["Choice"] != null)
{
var db = Database.Open("Contacts");
var insertCommand = "INSERT INTO Contacts (Saln) VALUES(@0)";
db.Execute(insertCommand, Request["Choice"]);
}
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<Form method="post" action="">
<select name="Choice">
@foreach(var row1 in selectedData1)
{
<option value="@row1.ID">@row1.Saln</option>
}
</select>
<input type="submit" value="Submit" />
</form>
</body>
</html>