C# 中的 FormView FindControl EditTemplate
FormView FindControl EditTemplate in C#
我在 C# asp.net webforms 的代码隐藏中有这个,它不会执行,从 VB.NET 文件转置。 VB Webform 执行得很好,从 Pre-Render 找到处于编辑模式的控件。但是C#版本没有。
有人能指出问题所在吗?该代码应该在 EditMode 中找到 Telerik TextBox 内容,并使用 TextBox 的文本更改标题。
VB.NET代码
Private Sub FormView1_PreRender(sender As Object, e As EventArgs) Handles FormView1.PreRender
If FormView1.CurrentMode = FormViewMode.Edit Then
Dim ProductNameTextBox As Label = FormView1.FindControl("BannerLabel")
Dim StudentName As RadTextBox = FormView1.FindControl("FirstNameTxtBx")
Dim UpdateButton As Button = FormView1.FindControl("UpdateButton")
ProductNameTextBox.Text = "Edit " + StudentName.Text + "'s Profile"
UpdateButton.Text = "Update changes to " + StudentName.Text + "'s Profile"
End If
End Sub
C#代码
private void FormView1_PreRender(object sender, EventArgs e)
{
if (FormView1.CurrentMode == FormViewMode.Edit)
{
Label ProductNameTextBox = FormView1.FindControl("BannerLabel") as Label;
RadTextBox StudentName = FormView1.FindControl("FirstNameTxtBx") as RadTextBox;
Button UpdateButton = FormView1.FindControl("UpdateButton") as Button;
ProductNameTextBox.Text = "Edit " + StudentName.Text + "'s Profile";
UpdateButton.Text = "Update changes to " + StudentName.Text + "'s Profile";
}
}
在 C# 版本中,您似乎忘记了 subscribe 到 FormView1.PreRender
事件。
在您的 VB.NET 代码中,您有 Handles FormView1.PreRender
自动为您订阅活动。 Handles
关键字在 C# 中没有对应的关键字,因此您需要自己订阅该事件。
在您的代码某处添加以下行,以便在您的网络表单加载或初始化时执行:
FormView1.PreRender += FormView1_PreRender;
如果之后它仍然不起作用,您可能需要提供更多信息,因为我在方法主体中没有发现任何错误。
我在 C# asp.net webforms 的代码隐藏中有这个,它不会执行,从 VB.NET 文件转置。 VB Webform 执行得很好,从 Pre-Render 找到处于编辑模式的控件。但是C#版本没有。
有人能指出问题所在吗?该代码应该在 EditMode 中找到 Telerik TextBox 内容,并使用 TextBox 的文本更改标题。
VB.NET代码
Private Sub FormView1_PreRender(sender As Object, e As EventArgs) Handles FormView1.PreRender
If FormView1.CurrentMode = FormViewMode.Edit Then
Dim ProductNameTextBox As Label = FormView1.FindControl("BannerLabel")
Dim StudentName As RadTextBox = FormView1.FindControl("FirstNameTxtBx")
Dim UpdateButton As Button = FormView1.FindControl("UpdateButton")
ProductNameTextBox.Text = "Edit " + StudentName.Text + "'s Profile"
UpdateButton.Text = "Update changes to " + StudentName.Text + "'s Profile"
End If
End Sub
C#代码
private void FormView1_PreRender(object sender, EventArgs e)
{
if (FormView1.CurrentMode == FormViewMode.Edit)
{
Label ProductNameTextBox = FormView1.FindControl("BannerLabel") as Label;
RadTextBox StudentName = FormView1.FindControl("FirstNameTxtBx") as RadTextBox;
Button UpdateButton = FormView1.FindControl("UpdateButton") as Button;
ProductNameTextBox.Text = "Edit " + StudentName.Text + "'s Profile";
UpdateButton.Text = "Update changes to " + StudentName.Text + "'s Profile";
}
}
在 C# 版本中,您似乎忘记了 subscribe 到 FormView1.PreRender
事件。
在您的 VB.NET 代码中,您有 Handles FormView1.PreRender
自动为您订阅活动。 Handles
关键字在 C# 中没有对应的关键字,因此您需要自己订阅该事件。
在您的代码某处添加以下行,以便在您的网络表单加载或初始化时执行:
FormView1.PreRender += FormView1_PreRender;
如果之后它仍然不起作用,您可能需要提供更多信息,因为我在方法主体中没有发现任何错误。