是否有一种在ASP.NET中创建唯一网页地址的标准方法?我正在向客户发送调查问卷,并将包含指向该网页的链接。例如:
http://www.mysurveypages.foo/survey/UniqueID
然后,我会根据发送给谁的方式自定义调查。我知道可以通过向页面传递一个唯一的参数来完成它,但我很好奇这样做。
答案 0 :(得分:1)
您可以使用Routing将您的网址结构映射到特定网页和参数集合。从本质上讲,它允许您将网址的部分转换为您网页的网址参数。这适用于标准WebForms,是MVC选择适当的控制器/操作签名来调用的基础。
答案 1 :(得分:0)
喜欢dcp的人说GUID是一个合理的解决方案http://mywebsite.com/survey.aspx?ID=GUID
答案 2 :(得分:0)
假设您要将调查发送到用户列表。
List<User> users = GetSurveyUsers();
foreach(User u in users)
{
Guid guid = Guid.NewGuid();
//Then store the user-guid pair into DB or XML...
}
答案 3 :(得分:0)
最简单的解决方案似乎是使UniqueID成为一个递增字段,可用于从数据库中获取适当的用户信息。你可以使用数字,Guid或一些字母数字值,这无关紧要。
如果你使用ASP.Net MVC,那么很容易将Url(就像你指定的那个)映射到控制器动作,该动作获取作为参数传入的ID。否则,您可能需要查看some sort of Url rewriting以确保Url可以很漂亮。
答案 4 :(得分:0)
GUID方法最安全,如果您能够将其存储在某个地方。如果不是,您可以直接使用一些现有的唯一数据(例如客户ID或电子邮件地址)(但要注意泄漏敏感数据)或散列(但需要考虑冲突)。