我想在ASP.net中编写,更新或编辑XML gridview的函数(在visual studio 2010中),但我不知道应该使用哪个动作?
这是我的代码但不起作用。当我在gridview上单击编辑时发生了一个异常:
private DataSet ds;
DataRow r;
protected void Page_Load(object sender, EventArgs e)
{
ds = new DataSet();
ds.ReadXml(Server.MapPath("../web.config"));
GridView1.DataSource = ds.Tables["user"];
GridView1.DataBind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridView1.EditIndex = e.RowIndex;
GridView1.DataBind();
}
protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
r = ds.Tables["user"].Rows[e.AffectedRows];
r["password"] = FormsAuthentication.HashPasswordForStoringInConfigFile(GridView1.SelectedRow.Cells[1].ToString(), "MD5");
ds.AcceptChanges();
ds.WriteXml(Server.MapPath("web.config"));
GridView1.DataBind();
}
感谢
答案 0 :(得分:1)
我可能有这个错误但您是否尝试通过加载到gridview来修改web.config文件?我不认为你可以用web.config做那样的事情 - 所以可能会有人预料到它会抛出恶意。
为了在运行时修改web.config,您考虑过使用WebConfigurationManager。该对象是以此为基础构建的。虽然前面的链接说ASP.Net 2.0和3.5,但在4.0(Visual Studio 2010)中会很好。这个SO Question提供了非常清晰的代码示例。