DetailsView 插入的默认值

MGu*_*bel 5 c# asp.net data-binding asp.net-membership

当用户转到指定页面时,我有一个 DetailsView 附加到 SqlDataSource 并且已经设置为插入模式。我基本上将它用作某些事件的注册页面。我不想让用户输入他们的“用户名”,而是希望该字段根据已登录的用户自动填充。

有没有人对如何让 User.Identity.Name 成为出现在 Page_load 上的默认值,或者如何在 DetailsViewInsertEventArgs 上编写覆盖有任何建议?当然,如果我完全不在基础上,那么其他建议会很棒。

我在后面使用 c# 代码。

谢谢,迈克

Ric*_*hez 3

你可以这样做:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DetailsView1.DefaultMode = DetailsViewMode.Insert;
            if (DetailsView1.FindControl("TextBox1") != null)
            {
                TextBox txt1 = (TextBox)DetailsView1.FindControl("TextBox1");
                txt1.Text = User.Identity.Name.ToString();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)