按钮点击

时间:2018-06-01 09:47:40

标签: c# asp.net radgrid

您好我有一个包含大量复选框的页面,当选择一个用户然后单击该按钮转到新页面时。我需要这个新页面来获取从上一页中选择的记录的ID。

我无法弄清楚如何将名为FileID的ID的int值导入名为EditFile.aspx的下一页。

此功能的所有代码当前都在一个buttonclick事件中:

protected void btnEditSelectedFile_Click(object sender, EventArgs e)
{
    int intSelectedFileCount = 0;
    foreach (GridDataItem item in fileRadGrid.MasterTableView.Items)
    {
        int FileID = int.Parse(fileRadGrid.MasterTableView.DataKeyValues[item.DataSetIndex - (fileRadGrid.CurrentPageIndex * fileRadGrid.PageSize)]["FileID"].ToString()); //Gets File ID of Selected field

        CheckBox chk = (CheckBox)item["AllNone"].Controls[0];
        if (chk.Checked)
        {
            intSelectedFileCount++;

        }
    }

    if (intSelectedFileCount == 1)
    {
        Response.Redirect("EditFile.aspx", false);        
    }
    else
    {
        lblNeedSingleFile.Visible = true;
    }
}

有关如何在EditFile页面中访问“FileID”的任何帮助都非常感谢!

2 个答案:

答案 0 :(得分:3)

在asp.net中的页面之间共享数据,你有两种方法:

1)使用URL查询字符串:当您的重定向更改以下行

Response.Redirect("EditFile.aspx?FileId=" + FileID.ToString(), false); 

在EditFile.aspx中你可以在Page_Load()

中完成
int FileId = int.Parse(Request.QueryString["FileId"]);

2)使用会话状态:设置会话字段ex:

Session["FileId"] = FileID;

并将其从EditFile.aspx中检索为

int FileId = (int)Session["FileId"];

答案 1 :(得分:2)

只需将您的ID作为参数传递:

Response.Redirect("EditFile.aspx?fileId=" + FileID, false);

在EditFile.aspx上,您可以通过以下方式读取fileId:

string FileID = Request.QueryString["fileId"];

当然,您需要将其转换为int

int fileId = (int) FileID;