更改asp:标签文本从C#代码隐藏
我已经试了一个小时左右;只是好像不明白。 我在aspx页面上有一个更改asp:标签文本从C#代码隐藏,c#,asp.net,C#,Asp.net,我已经试了一个小时左右;只是好像不明白。 我在aspx页面上有一个asp:Button,需要完成两个功能,其中之一是更改asp:Label的文本。这看起来应该很简单,其他在线帖子表明我正确地处理了这个问题,但是 这个问题很简单,但它让我很难受。为了调试/排除故障,我将代码剥离到最基本的部分: protected void Page_Load(object sender, EventArgs e) { allValidationMsg.Text = "Original text"; }
asp:Button
,需要完成两个功能,其中之一是更改asp:Label
的文本。这看起来应该很简单,其他在线帖子表明我正确地处理了这个问题,但是
这个问题很简单,但它让我很难受。为了调试/排除故障,我将代码剥离到最基本的部分:
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" />
可能您忘记了将按钮单击绑定到处理程序 您可以在代码隐藏中执行类似操作:
mybutton.Click+=btnRegister_Click;
或在aspx中:
<asp:Button id="Button1"
Text="Click here for greeting..."
OnClick="btnRegister_Click"
runat="server"/>
可能您忘记了将按钮单击绑定到处理程序 您可以在代码隐藏中执行类似操作:
mybutton.Click+=btnRegister_Click;
或在aspx中:
<asp:Button id="Button1"
Text="Click here for greeting..."
OnClick="btnRegister_Click"
runat="server"/>
我想当你点击按钮时,页面加载会再次调用,原始文本会保留下来。试试这个
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
allValidationMsg.Text = "Original text";
}
除此之外,我假设您在标记中注册了按钮的事件处理程序,因为我在代码中的任何地方都看不到它
<asp:Button id="Button1" runat="server" OnClick="btnRegister_Click" />
我想当你点击按钮时,页面加载会再次调用,原始文本会保留下来。试试这个
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
allValidationMsg.Text = "Original text";
}
除此之外,我假设您在标记中注册了按钮的事件处理程序,因为我在代码中的任何地方都看不到它
<asp:Button id="Button1" runat="server" OnClick="btnRegister_Click" />
我可以看到您在标记(case)中编写了“onclick”而不是“onclick”。这可能是问题的原因
更新1
您是否可以尝试这样做(检查回发是否有效):
按下按钮后文本是否发生变化
UPDATE2此外,请尝试在文本中进行一些更改,以了解是否真正部署了新版本(以排除强缓存问题)
UPDATE3您可以尝试在codebehind中进行绑定(并将其从aspx中删除)。我可以看到您在标记(case)中使用了“onclick”而不是“onclick”。这可能是问题的原因
更新1
您是否可以尝试这样做(检查回发是否有效):
按下按钮后文本是否发生变化
UPDATE2此外,请尝试在文本中进行一些更改,以了解是否真正部署了新版本(以排除强缓存问题)
更新3您可以尝试在codebehind中进行绑定(并将其从aspx中删除)。嘿,我想我知道它是什么。在您的标记中,您的标签是这样的吗
<asp:Label ID="Label1" runat="server" >Some text</asp:Label>
一些文本
您希望在标记中包含以下内容:
<asp:Label ID="Lable1" runat="server" text ="some text"></asp:Label>
我以前也有过这种情况。如果将标记更改为该值。它应该会起作用 嘿,我想我知道那是什么。在您的标记中,您的标签是这样的吗
<asp:Label ID="Label1" runat="server" >Some text</asp:Label>
一些文本
您希望在标记中包含以下内容:
<asp:Label ID="Lable1" runat="server" text ="some text"></asp:Label>
我以前也有过这种情况。如果将标记更改为该值。它应该会起作用 已解决;问题似乎与使用比较器有关。我真的不明白为什么,但当这个验证器被注释掉后,问题就解决了。有趣的是,同一页面上的RequiredField和RegularExpression验证器不会导致任何问题。已解决;问题似乎与使用比较器有关。我真的不明白为什么,但当这个验证器被注释掉后,问题就解决了。有趣的是,同一页面上的RequiredField和RegularExpression验证器不会引起任何问题。您还需要向我们显示标记代码(aspx文件中的标记代码)。您可以在aspx文件中添加
btnRegister
的声明吗?我的第一个猜测是代码没有连接到click事件。我认为Steve Py是正确的。确保按钮已订阅右键单击事件。是否已在标记和代码隐藏中指定AutoEventWireup两次???@ajp。。AutoEventWireup应在代码隐藏..中的何处显示?您还需要向我们显示标记代码(aspx文件中的标记代码)。您可以在aspx文件中添加btnRegister
的声明吗?我的第一个猜测是代码没有连接到click事件。我认为Steve Py是正确的。确保按钮已订阅右键单击事件。是否已在标记和代码隐藏中指定AutoEventWireup两次???@ajp。。AutoEventWireup应该出现在代码隐藏..中的何处?@codingbiz。。试过这个,运气不好:(不这样认为。。在页面生命周期中,页面加载发生在按钮处理程序之前。。正如Puhan提到的,可能是因为他忘记绑定按钮单击,然后在按钮单击处理程序中放置断点,并告诉我们在调试模式下发生了什么。@codingbiz。。尝试按照您的建议在按钮单击处理程序中插入断点。确实,没有响应e(即,单击aspx页面上的按钮不会触发此代码)。我已经检查并再次检查按钮处理程序是否正确连接。无法理解这一点。..@user1748443以前从未经历过这种情况,除非处理程序注册未完成或指向另一个处理程序。从代码中删除该处理程序,编译并运行。如果没有运行时错误,则OnClick没有指向Ehandler@codingbiz..试过这个,运气不好:(不这样认为。。在页面生命周期中,页面加载发生在按钮处理程序之前。。正如Puhan提到的,可能是因为他忘记绑定按钮单击,然后在按钮单击处理程序中放置断点,并告诉我们在调试模式下发生了什么。@codingbiz。。尝试按照您的建议在按钮单击处理程序中插入断点。确实,没有响应e(即,单击aspx页面上的按钮不会触发此代码)。我已检查并重新检查按钮处理程序是否正确连接。对此无法理解。@user1748443以前从未经历过,除非处理程序注册未完成或指向其他处理程序。删除处理程序