在asp.net网页之间传递值,但无法修改值

时间:2013-12-16 16:05:31

标签: c# asp.net session asp.net-webpages

我正在使用它,我知道这不好:

protected string GetCompanyUrl (object companyNum, object balance)
    {
        return "./companyDetails.aspx?companyId=" + companyNum.ToString() + "&balance=" + balance.ToString(); 
    }

但是,如果我更改网址中的余额值,该页面将显示公司信息的错误余额值。

所以我尝试使用Session["balance"]=balance.ToString(); 但是,由于balance来自gridview并且有很多行,因此它有很多值,并且它不会跟踪与companyId相对应的值。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

在查询字符串中传递 CompanyId 是可以接受的方法,但余额有点奇怪。问题是余额可能是123.45,而(点)可能会导致问题。

理想情况下,您只想在QueryString中传递 CompanyId ,并在下一页中检索公司的余额(来自数据库)。

答案 1 :(得分:0)

我建议去找这个

protected string GetCompanyUrl (object companyNum)
{
        return string.Format("~/companyDetails.aspx?companyId={0}",
        companyNum.ToString());
}

在公司详细信息页面上,选择comapny num并在数据库中查询所需的值。如果您的用户无法确定公司的确切编号,您只需使用Base64编码和解码即可。