在ASP.NET中编辑XML Gridview的函数

时间:2011-12-17 13:57:52

标签: asp.net xml visual-studio-2010

我想在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();
    }

感谢

1 个答案:

答案 0 :(得分:1)

我可能有这个错误但您是否尝试通过加载到gridview来修改web.config文件?我不认为你可以用web.config做那样的事情 - 所以可能会有人预料到它会抛出恶意。

为了在运行时修改web.config,您考虑过使用WebConfigurationManager。该对象是以此为基础构建的。虽然前面的链接说ASP.Net 2.0和3.5,但在4.0(Visual Studio 2010)中会很好。这个SO Question提供了非常清晰的代码示例。