【问题标题】:Passing URL parameters in asp.net [closed]在 asp.net 中传递 URL 参数 [关闭]
【发布时间】:2014-09-08 19:41:43
【问题描述】:

我想要一个网页,我在其中输入某些详细信息,然后提交并向用户发送一个 URL,该 URL 将他们带到另一个网页,在那里他们填写其他详细信息,这些详细信息不是我最初输入的详细信息,而是值我输入的内容被传递到他们的页面,因此我可以在我不希望他们看到或修改的代码中访问这些值。我希望他们看到的 URL 总是相同的 URL。我在这里有什么选择?重要的是我传的参数不能修改。

【问题讨论】:

  • 你熟悉在 URL 中使用 QueryString 参数吗
  • 我对它有点熟悉。我想我想要得到的是,是否有一种方法可以传递参数,而不会在查询字符串中看到或操纵它们。看起来 Tim 下面的解决方案是我必须做的,一个带有 ID 的数据库查找,因为我不想加密任何东西。

标签: c# asp.net parameter-passing


【解决方案1】:

如果要传递多个字段,您可能应该向客户端发送某种 ID(如 GUID)并使用数据库查找它们。

如果您最多处理三个或四个字段,则可以将它们作为查询字符串传递。请记住,在您设计时,查询字符串对最终用户是可见的——如果他们想使用它,他们可以。您可以在将数据附加到 QS 之前对其进行加密,但如果您要经历这么多麻烦,您也可以将其存储在数据库中并进行查找。 (会容易很多)

【讨论】:

  • 看来我会使用数据库查找,因为我无法对查询字符串进行操作。 ID 或 GUID 将如何传递,是否需要将其附加到 URL 查询字符串,然后在数据库中查找该 ID?
  • 您可以保存您的值,如果您使用的是 SQL Server,则有一个名为 UniqueIdentifier 的数据类型。创建您的记录,在您的代码中返回生成的唯一标识符(我会使用带有返回值的存储过程),并将其附加到电子邮件中的链接。然后在传入页面(用户在电子邮件中单击的页面)上,根据标识符查找记录并填充表单。
  • 酷,我从未使用过 UniqueIdentifier 数据类型。感谢您的解释和帮助。我想我明白了。
  • @kyle_13 如果您将 uniqueidentifier 设置为您的身份列,您应该能够使用 scope_identity 函数来获取您刚刚插入的记录的值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-09
  • 2016-08-25
  • 1970-01-01
  • 2015-10-21
  • 1970-01-01
  • 2017-11-17
  • 1970-01-01
相关资源
最近更新 更多