Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改asp:标签文本从C#代码隐藏_C#_Asp.net - Fatal编程技术网

更改asp:标签文本从C#代码隐藏

更改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"; }

我已经试了一个小时左右;只是好像不明白。 我在aspx页面上有一个
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以前从未经历过,除非处理程序注册未完成或指向其他处理程序。删除处理程序