[英]Edit/Delete button in asp.net c#
I have a form that lists customers pulled from a db. 我有一个表格,列出了从数据库中拉出的客户。 The form also consists of edit and delete buttons in order to update an existing customer's record.
该表格还包含编辑和删除按钮,以更新现有客户的记录。 I am able to pull back all the table data for the customers on the first page.
我可以在第一页上为客户拉回所有表数据。 However, when I click the "Edit" button next to a customer it does not bring back any data but just brings back a blank form.
但是,当我单击客户旁边的“编辑”按钮时,它不会带回任何数据,而只会带回一个空白表格。 I am referencing the CustomerID in the "Edit" hyperlink with a NavigateURL link.
我使用NavigateURL链接引用“编辑”超链接中的CustomerID。 I have read and read and am getting confused about how to do this.
我已经阅读并阅读,并且对如何执行此操作感到困惑。 Can anyone see what I may be doing wrong?
谁能看到我可能在做错什么? Getting very frustrated.
变得非常沮丧。 Please help.
请帮忙。
<div>
<h2>Customer Listing</h2>
<br />
</div>
<p style="text-align:center">
<asp:Button ID="btnCustomer" class="button" runat="server" Text="Add New Customer" onclick="btnCustomer_Click" />
</p>
<asp:ListView ID="lv" runat="server"
onselectedindexchanged="lv_SelectedIndexChanged">
<LayoutTemplate>
<table width="110%" class="TableListing">
<tbody>
<thead>
<th width="150">Customer Name</th>
<th width="150">Email</th>
<th width="150">City</th>
<th width="40">State</th>
<th width="110">Phone</th>
<th width="80">Modify</th>
</thead>
<tr id="itemPlaceholder" runat="server"></tr>
</tbody>
</table>
<asp:DataPager ID="ItemDataPager" runat="server" PageSize="20">
<Fields>
<asp:NumericPagerField ButtonCount="5" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td><%# Eval ("LastName") %>, <%# Eval ("FirstName") %></td>
<td><%# Eval ("Email") %></td>
<td><%# Eval ("City") %></td>
<td><%# Eval ("State") %></td>
<td><%# Eval ("Phone") %></td>
<td>
<asp:HyperLink ID="lnkEdit" runat="server" NavigateUrl='<%# "CustomerEdit.aspx?ID=" + Eval("CustomerID") + Request.QueryString["LastName"] + Eval("LastName") %>' Text="Edit" />
</td>
</tr>
</ItemTemplate>
I then redirect to the CustomerEdit page: 然后,我重定向到CustomerEdit页面:
protected void Page_Load(object sender, EventArgs e)
{
this.Master.HighlightNavItem("Customers");
int CustomerID = 0;
//Declare the connection object
SqlConnection Conn = new SqlConnection();
Conn.ConnectionString = ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString;
//Connect to the db
Conn.Open();
//Define query
string sql = "SELECT * FROM Customer where CustomerID=@CustomerID";
//Declare the Command
SqlCommand cmd = new SqlCommand(sql, Conn);
//Add the parameters needed for the SQL query
//cmd.Parameters.AddWithValue("@LastName", LastName);
//Declare the DataReader
SqlDataReader dr = null;
//Fill the DataReader
dr = cmd.ExecuteReader();
//Get the data
if (dr.Read() == false)
{
//No Records
dr.Close();
Conn.Close();
return;
}
txtFirstName.Text = dr["FirstName"].ToString();
txtLastName.Text = dr["LastName"].ToString();
dr.Close();
Conn.Close();
}
protected void btnCancel_Click1(object sender, EventArgs e)
{
Response.Redirect("Customers.aspx");
}
protected void btnUpdate_Click(object sender, EventArgs e)
{
//Declare the connection object
SqlConnection Conn = new SqlConnection();
Conn.ConnectionString = ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString;
//Connect to the db
Conn.Open();
//Define query
string sql = "INSERT INTO Customer (FirstName, LastName, Email, Password, Address1, Address2, City, State, Zip, Phone, Fax) VALUES (@FirstName, @LastName, @Email, @Password, @Address1, @Address2, @City, @State, @Zip, @Phone, @Fax)";
//sql = "INSERT INTO xSample(Region,RepName,...) VALUES(@Region,@RepName,...)
//Declare the Command
SqlCommand cmd = new SqlCommand(sql, Conn);
//Add the parameters needed for the SQL query
cmd.Parameters.AddWithValue("@FirstName", txtFirstName.Text);
cmd.Parameters.AddWithValue("@LastName", txtLastName.Text);
cmd.Parameters.AddWithValue("@Email", txtEmail1.Text);
cmd.Parameters.AddWithValue("@Password", txtPassword1.Text);
cmd.Parameters.AddWithValue("@Address1", txtAddress1.Text);
cmd.Parameters.AddWithValue("@Address2", txtAddress2.Text);
cmd.Parameters.AddWithValue("@City", txtCity.Text);
cmd.Parameters.AddWithValue("@State", txtState.Text);
cmd.Parameters.AddWithValue("@Zip", txtZip.Text);
cmd.Parameters.AddWithValue("@Phone", txtPhone.Text);
cmd.Parameters.AddWithValue("@Fax", txtFax.Text);
//Execute the query
int NumRows = 0;
NumRows = cmd.ExecuteNonQuery();
Conn.Close();
lblUpdate.Text = "Updated " + NumRows.ToString() + " record";
}
}
} }
In your page_load of the custmeredit.aspx 在您的custmeredit.aspx的page_load中
replace this: 替换为:
int CustomerID = 0;
with: 有:
int CustomerID = Int32.Parse(Request.QueryString["ID"]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.