如何为每个用户创建一个唯一的页面ASP.NET C#

时间:2014-06-21 20:25:48

标签: c# html asp.net visual-studio session

我在我的网站上有一张桌子,我希望每个用户都能得到一张他可以自己编辑的空桌子,并在他登录时为他显示。

对于每个用户,同一个表但具有属于他的不同值,他可以编辑它。

编辑和表工作正常但问题是所有用户都看到具有相同值的同一个表。

1 个答案:

答案 0 :(得分:0)

而不是创建会话。您可以在数据库的UserProfile表中创建用户行,以保存其值。

然后当他登录时,使用他的UserId创建一个动态URL,如

www.example.com/userid/1234

Stack Overflow使用完全相同的东西。他们使用您的ID并向您显示与您自己的ID相关的数据。他们使用Database来存储Profile的数据等。

表和数据之间唯一不同的是使用条件。在SQL中,它被称为WHERE子句,在编码中称为if (condition == value) { }。使用此条件分隔值,如此

var db = Database.Open("database_name");
var sqlQuery = "SELECT * FROM table WHERE UserId =@0";
var result = db.Query(sqlQuery, WebSecurity.CurrentUserId);

这将仅返回与登录用户相关的列。然后,您可以像这样循环遍历此结果

foreach (var row in result) {
   // create the table here!
}

http://www.asp.net/web-pages/tutorials/data/5-working-with-data