.net在运行时用username替换文本

时间:2016-02-25 22:06:23

标签: c# asp.net login replace

我正在写一个C#.net网站,供我公司管理使用。在这个页面上,我在主页面上有一个位置来保存通知,这些通知是上下文颜色的信息面板。在选项页面上,您可以通过填写包含通知标题,消息和类别下拉列表的表单来创建它们。

我想为用户提供的选项之一是在邮件中使用{name}来显示查看通知的人的用户名。我尝试使用message.Replace("{name}", "<asp:LoginName ID=\"LoginName1\" runat=\"server\" />");,但这会导致发布完整的字符串,而不是.net解析器将其转换为用户名。

我正在使用默认的asp.net用户创建引擎和数据库,虽然我也听说Silverlight现在是标准的

至于我的问题,假设Silverlight有能力处理安全登录,我会更好地在Silverlight中重建项目吗?另外,更换用户名的正确方法是什么?使用{user=#}之类的东西会更好吗,其中#是用户的ID?从理论上讲,它只是来自我的Notice类中的数据库查询(构造函数调用一个用btml代码替换bbcode的方法)。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

https://name:password@....仅在直接放入ASPX时才有效。如果你想在不使用控件的情况下动态设置名称,可以采用两种方式:

  • 从该网页的代码隐藏中,您可以致电<asp:LoginName ID=\"LoginName1\" runat=\"server\" />
  • 从应用中的任何位置,您都可以拨打this.User.Identity.Name