2

我正在使用 Webmatrix 构建我的网站,当用户单击不同的按钮时呈现不同的融合图表,即如果他们点击“欧洲”按钮,他们会得到欧洲的平均温度图表,如果他们点击美国,美国平均温度ETC...

cshtml 页面在成功登录后保存会话变量 UserId 并且如果该用户单击按钮 if(ispost) 代码刷新整个 cshtml 页面,然后该页面包含更新的图形。

刷新时,在 cshtml 页面中有一个 iframe,其源是一个名为“Using_MS_SQL_Server.aspx”的文件,该文件反过来创建一个 xml 文件,该文件由在 ms sql 数据库上执行存储过程填充,如下所示:

SqlCommand query = new SqlCommand(
    "EXEC ON_WEBSITE_SQL_DB.dbo.AVG_TEMPS_PER_CONTINENT "
     + AREA + ", " + USERID, conn);   

如您所知,有两个变量可以插入到存储过程中:AREA 和 USERID...

在 aspx.cs 页面的代码中,我可以轻松调用 USERID 变量,因为它是使用MembershipUser user = Membership.GetUser();.

如何从用户单击的 cshtml 页面将值为“EUROPE”的变量传递到 aspx 页面,以便在等待 AREA 变量的存储过程中使用?

4

1 回答 1

1

您能够实现的唯一方法是使用会话/cookie 或查询字符串。

如果您传递的数据不是敏感信息,那么只需使用查询字符串即可。如果它很敏感,请考虑加密可以Page_Load在 ASPX 上解密的会话或 cookie 值。

于 2013-04-30T22:08:12.380 回答