无法将RowEditing中的变量解析为RowUpdating

时间:2011-08-05 13:07:10

标签: c# asp.net

我无法在 RowEditing 方法上设置公共变量文件 desc 的值。

我在 RowEditing 的末尾添加了一个断点,我可以看到正在设置文件 desc 值,但是当我点击更新时,RowUpdating上的这些值将被设置回“”

gridDok.Rows [e.RowIndex] .Cells [4] .Text也被设置为“”,我得到 ArgumentExceprion

字符串的长度不能为零。 参数名称:oldValue

有人有建议吗?

以下是方法的代码:

protected void gridDok_RowEditing(object sender, GridViewEditEventArgs e)
{
    file = gridDok.Rows[e.NewEditIndex].Cells[5].Text;
    desc = gridDok.Rows[e.NewEditIndex].Cells[4].Text;
}

protected void gridDok_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    string file1 = file.Replace(desc, gridDok.Rows[e.RowIndex].Cells[4].Text);
    File.Move("~/" + file, "~/" + file1);
}

提前致谢。

1 个答案:

答案 0 :(得分:1)

是的,全局变量不会在回发中保留 - 通过以下方式存储:

Session["file"] = gridDok.Rows[e.NewEditIndex].Cells[5].Text;

并通过以下方式检索它们:

var file = Session["file"] as string;
if (file != null) { .. }

HTH。