更改asp:标签文本背后的C#代码
我一直在尝试这一个小时左右;似乎无法弄清楚。 我在aspx页面上有一个asp:Button
,需要完成一些功能,其中一个功能是更改asp:Label
的文本。这似乎应该是简单的和其他在线帖子表明,我正在接近这个问题,但...更改asp:标签文本背后的C#代码
问题很简单,但它杀了我。为了调试/排除故障,我已将代码剥离为非常基础:
protected void Page_Load(object sender, EventArgs e)
{
allValidationMsg.Text = "Original text";
}
protected void btnRegister_Click(object sender, EventArgs e)
{
allValidationMsg.Text = "Text changed";
}
单击按钮时,什么都不会发生。我确信这很简单,我错过了。
更新:
<asp:Label id="allValidationMsg" runat="server" height="22px" ForeColor="Red"></asp:Label>
<asp:Button class="navbutton" ID="btnRegister" runat="server"
Text="Register User" OnClick="btnRegister_Click" />
已解决;该问题似乎与使用CompareValidator一起使用。不明白为什么,但是当这个验证器被注释掉时,问题就解决了。有趣的是,RequiredField和RegularExpression验证器在同一页面上不会引起任何问题。
也许你已经忘记绑定按钮,点击该处理程序。
你可以做类似的东西在后台代码:
mybutton.Click+=btnRegister_Click;
或者在ASPX:
<asp:Button id="Button1"
Text="Click here for greeting..."
OnClick="btnRegister_Click"
runat="server"/>
@Puhan ..检查和双 - 也检查这一点;困惑.. –
向你展示标记和代码。该标签是否可见设置为true? – briskovich
客户端验证如何?我在这个页面上有几个验证器?在类似的扭曲中,取消按钮后面有代码重定向回到主页。这也没有发生,但验证仍在发生。验证器是否可能导致问题?! –
我认为,当你点击按钮,Page_Load中又被称为与原文字仍然存在从这个试试这个
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
allValidationMsg.Text = "Original text";
}
除此之外,我假设你注册的标记按钮的事件处理程序,因为我看不到它的任何地方在您的代码隐藏
<asp:Button id="Button1" runat="server" OnClick="btnRegister_Click" />
我可以看到你写在标记(大小写)中“onclick”而不是“OnClick”。可能这是问题的原因。
UPDATE1 你可以尝试这样做(检查是否回传作品):
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
allValidationMsg.Text = "Original text";
}
else
{
allValidationMsg.Text = "After postback";
}
}
如果文本按下按钮后改变?
UPDATE2此外,请尝试对文本进行一些更改以了解新版本是否真正部署(以排除强大的缓存问题)。
UPDATE3您可以尝试在代码隐藏(并从aspx中删除它)中进行绑定。
@Puhan ..不是。那个标记是自动生成的,但我仍然尝试过。没有快乐.. –
仍然没有变化.. –
这是关于更新1或2?您可以在页面加载时看到“原始文本”吗? – MikhailSP
嘿,我想我知道它是什么。在你的标记中,你的标签看起来像这样?
<asp:Label ID="Label1" runat="server" >Some text</asp:Label>
你在你的标记要这样:
<asp:Label ID="Lable1" runat="server" text ="some text"></asp:Label>
我有这种情况发生前。如果您将标记更改为该标记。它应该工作。
您还需要向我们展示标记代码(aspx文件中的代码) –
您可以将“btnRegister”的声明添加到aspx文件?我的第一个猜测是代码没有连接到click事件。 –
我认为Steve Py是正确的。确保按钮订阅了右键单击事件。 – briskovich