【发布时间】:2018-01-13 05:47:11
【问题描述】:
我的页面上有每个产品的 2 个链接按钮。其中一个是删除该产品,另一个是通过查询字符串将其重定向到另一个页面以编辑该产品。
hereprotected void dlMusic_ItemCommand(object source, DataListCommandEventArgs e)
{
int id = Convert.ToInt32(e.CommandArgument);
if (e.CommandName == "EditItem")
{
Response.Redirect("~/Admin/EditMusic.aspx?id=" + id);
}
else if (e.CommandName == "DeleteItem")
{
SqlCommand cmd = new SqlCommand("", Connection);
cmd.CommandText = "DELETE FROM MusicTable WHERE MusicId=@id";
cmd.Parameters.AddWithValue("@id", id);
Connection.Open();
cmd.ExecuteNonQuery();
Connection.Close();
LoadData();
}
}
删除按钮工作正常,但在编辑时出现问题。
protected void Page_Load(object sender, EventArgs e)
{
int id = int.Parse(Request.QueryString["id"]);
SqlDataAdapter da = new SqlDataAdapter("", Connection);
DataTable dt = new DataTable();
da.SelectCommand.CommandText = "SELECT * FROM MusicTable WHERE MusicId=@id";
da.SelectCommand.Parameters.AddWithValue("@id", id);
da.Fill(dt);
string name = dt.Rows[0]["MusicName"].ToString();
string signame = dt.Rows[0]["SingerName"].ToString();
string prodname = dt.Rows[0]["ProducerName"].ToString();
string albname = dt.Rows[0]["AlbumeName"].ToString();
string des = dt.Rows[0]["Description"].ToString();
string cover = dt.Rows[0]["Cover"].ToString();
txtMusicName.Text = name;
txtSingerName.Text = signame;
txtProducerName.Text = prodname;
txtAlbumeName.Text = albname;
coverImg.ImageUrl = "~/images/" + cover;
txtDes.InnerText = des;
}
它可以正常工作,直到查询字符串请求并且错误出现
附加信息:值不能为空。
提前致谢
【问题讨论】:
-
您在哪一行出现错误?此外,您在切换到编辑页面时是否看到正确的 URL(填充了查询字符串)?
-
int id = int.parse(request.querystring["id"]);
标签: asp.net nullreferenceexception