ASP.NET:如何在不写用户名的情况下将最新的新闻和杂志添加到Web应用程序



我正在开发一个web应用程序,使管理员能够添加新的和时事通讯。为了添加新闻,我在数据库中创建了一个名为news的表,其中包含:NewsID、NewsTitle、NewsDescription、Username。此外,对于时事通讯,管理员将上传的ma。为此,我创建了一个表,其中包含MagazineID MagazineTitle Url Username

顺便说一下,它们中的每个username列都是Users表的外键。

现在我有两个问题:为了添加新闻,我使用ListView,除了用户名列之外,一切都很好。我想要的只是让用户能够填写两列:NewsTitle和NewsDescription。他的用户名应该自动添加,但怎么做呢?

对于添加新闻,我使用以下sql命令:
DeleteCommand="DELETE FROM [News] WHERE [NewsID] = @NewsID" 
InsertCommand="INSERT INTO [News] ([NewsTitle], [NewsDesc])
               VALUES (@NewsTitle, @NewsDesc)" 
SelectCommand="SELECT News.NewsID, News.NewsTitle, News.NewsDesc, News.Username
               FROM News
               INNER JOIN employee ON News.Username = employee.Username" 
UpdateCommand="UPDATE [News]
               SET [NewsTitle] = @NewsTitle
                  , [NewsDesc] = @NewsDesc
               WHERE [NewsID] = @NewsID">

对于杂志,我还想使用ListView,并让用户能够放置标题和上传杂志。我的问题是如何把UploadFile控件在ListView。

你可以将插入/更新参数值设置为当前HttpContext User属性的Name属性。该值是登录用户的用户名。MSDN参考

但是,用户名可能会更改,您最好保存Id(最好是int数据类型)并将其设置为用户表中用户Id列的外键。