根据 ASP.net 中的值将字段设置为只读:C#,ASP.Net
Make a field read only based on value in ASP.net: C#, ASP.Net
回答我问题的每个人都非常有帮助,我即将完成此应用程序。我现在的挑战是根据登录将 3 个字段设置为只读。
我有以下代码可以完全满足我的需要,并将当前登录的用户分配给文本字段。如果登录用户不等于特定值,我想要做的是制作一些其他文本字段(只读)。例如,如果 submitted_by_email_username 不等于 administrator1@samplecompany.com,则将作为文本框的文本字段 (Salary_in) 设置为只读。这些天我读代码比写代码要多,所以如果这是一个简单的请求,我深表歉意。我想根据 COde Behind 中的逻辑将三个字段设置为只读。
protected void Page_PreInit(object sender, EventArgs e)
{
if (submitted_by_email_username != null)
{
_ = Context.User.Identity.Name;
if (User.Identity.IsAuthenticated)
submitted_by_email_username.Text = User.Identity.Name;
}
}
首先,您不需要 Page_PreInit
99.9% 的时间在网络表单中使用代码。即使使用动态控件,您也只需要 Page_Load
.
但是您可以使用 Enabled
属性.
将 TextBox 设置为只读
protected void Page_Load(object sender, EventArgs e)
{
if (Request.IsAuthenticated)
{
submitted_by_email_username.Enabled = false;
submitted_by_email_username.Text = User.Identity.Name;
}
}
回答我问题的每个人都非常有帮助,我即将完成此应用程序。我现在的挑战是根据登录将 3 个字段设置为只读。
我有以下代码可以完全满足我的需要,并将当前登录的用户分配给文本字段。如果登录用户不等于特定值,我想要做的是制作一些其他文本字段(只读)。例如,如果 submitted_by_email_username 不等于 administrator1@samplecompany.com,则将作为文本框的文本字段 (Salary_in) 设置为只读。这些天我读代码比写代码要多,所以如果这是一个简单的请求,我深表歉意。我想根据 COde Behind 中的逻辑将三个字段设置为只读。
protected void Page_PreInit(object sender, EventArgs e)
{
if (submitted_by_email_username != null)
{
_ = Context.User.Identity.Name;
if (User.Identity.IsAuthenticated)
submitted_by_email_username.Text = User.Identity.Name;
}
}
首先,您不需要 Page_PreInit
99.9% 的时间在网络表单中使用代码。即使使用动态控件,您也只需要 Page_Load
.
但是您可以使用 Enabled
属性.
protected void Page_Load(object sender, EventArgs e)
{
if (Request.IsAuthenticated)
{
submitted_by_email_username.Enabled = false;
submitted_by_email_username.Text = User.Identity.Name;
}
}