这基本上是我想做的:
我在 asp.net 中有一个 Web 表单,其中包含名字和姓氏以及一个提交按钮,
现在点击提交按钮,我想显示一个自动生成的优惠券代码!
我应该怎么去接近它?
这是我的 .cs 文件中的内容:
namespace WebApplication1
{
public partial class DetailsForm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}``
[WebMethod]
public static string InsertMethod(string firstname, string lastname)
{
SqlConnection con = new SqlConnection(@"Data Source=KIMBERLY\SQLSERVER02;Initial Catalog=Chalegh;User ID=***;Password=***");
SqlCommand cmd = new SqlCommand("insert into TestTable values('"+ firstname +"','" + lastname +"')", con);
con.Open();
cmd.ExecuteNonQuery();
return "True";
}
public static string GenerateVoucher(int length)
{
char[] CharArr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();
string randomString = string.Empty;
Random objRandom = new Random();
return randomString;
}
}
}
你需要做几件事:
我将创建一个快速列表,(我假设您使用的是 Visual Studio)
1) 创建一个按钮以提交
按钮您的更改(将一个按钮拖到网页上)
2) 为您的按钮创建一个事件处理程序(双击您的按钮)
3) 为您的处理程序编写代码
- 在数据库中创建一个条目
- 生成凭证编号
- 将其显示回屏幕
您的数据库部分已经很接近了,就像评论表明您想改用参数一样。
using (var con =new SqlConnection(yourConnectionString))
{
SqlCommand cmd = new SqlCommand("insert into TestTable values('@firstName', '@lastName')", con);
SqlParameter paramFirstName= new SqlParameter();
paramFirstName.ParameterName = "@firstName";
paramFirstName.Value = firstName;
SqlParameter paramLastName= new SqlParameter();
paramLastName.ParameterName = "@lastName";
paramLastName.Value = lastName;
cmd.Parameters.Add(paramFirstName);
cmd.Parameters.Add(paramLastName);
con.Open();
cmd.ExecuteNonQuery();
}
对于生成凭证号,我喜欢 Sudhakar Tillapudi 的回答
String randomString = Guid.NewGuid().ToString("N").Substring(0, 6);
然后你需要将它显示到屏幕上。
- 在您的网络表单上创建标签(例如:lblVoucherNumber)
- 将文本值赋给标签
lblVoucherNumber.Text = randomString;
请注意,目前您没有保存优惠券编号。您可能希望将该凭证编号保存在某处(例如在您的 TestTable 中,请在将其投入生产时重命名)
我是一名优秀的程序员,十分优秀!