C# c语言中的InnerHtml#

C# c语言中的InnerHtml#,c#,asp.net,ext.net,C#,Asp.net,Ext.net,我有,它由一个js函数填充,方法是: document.getElementById('StatusPreview').innerHTML = Ext.getCmp('TYComboEdit').getRawValue(); 现在,我想在单击按钮时更改c#中td的内容 我创建了以下方法: protected void hiddentoggletofrenchBackend(object sender, DirectEventArgs e) { this.Stat

我有
,它由一个js函数填充,方法是:

document.getElementById('StatusPreview').innerHTML = Ext.getCmp('TYComboEdit').getRawValue();
现在,我想在单击按钮时更改
c#
中td的内容

我创建了以下方法:

    protected void hiddentoggletofrenchBackend(object sender, DirectEventArgs e)
    {
        this.StatusPreview.InnerHtml = "aaaaa";
    }
它不会改变td上的内容但是,如果我在设置
InnerHtml
后发出警报,它会发出警报
aaaaaaa
,即使td内容没有改变以反映这一点。如果在设置
InnerHtml
之前放置警报,则警报为空

如何更改div的InnerHtml

谢谢大家!

更新:

如果我将html更改为
q
,则在设置
InnerHtml
之前显示
q
,如果在设置
InnerHtml
之后显示,并切换到
aaaaaaaa

这就好像
InnerHtml
采用的是pageload上的值,而不是当前值

runat=server
添加到
td
元素会将其转换为控件。要在此控件上设置内部文本的相关属性为

由于这是一个服务器端控件,任何更改都只会在回发到服务器后发生。这意味着整个页面将被重新加载并重新呈现。您可以使用免费工具检查对服务器的请求和服务器响应。假设实际发生回发,您确定没有使用在页面加载时运行的JavaScript覆盖新的内部文本吗


你甚至需要为此做回发吗?如果“aaaaa”不是数据库或其他查找的占位符,我会将替代文本呈现为隐藏的div或一些JavaScript,并在JavaScript中完全更改文本。

runat=server
添加到
td
元素会将其转换为控件。要在此控件上设置内部文本的相关属性为

由于这是一个服务器端控件,任何更改都只会在回发到服务器后发生。这意味着整个页面将被重新加载并重新呈现。您可以使用免费工具检查对服务器的请求和服务器响应。假设实际发生回发,您确定没有使用在页面加载时运行的JavaScript覆盖新的内部文本吗


你甚至需要为此做回发吗?如果“aaaaa”不是数据库或其他查找的占位符,我会将替代文本呈现为隐藏的div或JavaScript,并在JavaScript中完全更改文本。

要在DirectEvent期间更新ASP.NET控件,应调用.update()方法


要在DirectEvent期间更新ASP.NET控件,应调用.update()方法


我相信这将是C的
InnerText
,而不是
InnerHtml
。这一切都是以asp.net的形式完成的吗?托管浏览器控件的windows窗体?@Mike_G它是在Ext.NET窗体(基于asp.NET)中完成的@Greg我试过了,但遗憾的是,什么都没有。在更改div的内容后是否重新渲染它?如果没有,那么您将不会看到内部html中的任何更改,因为显示的页面没有更新,即使基础html已经更改,我相信对于C来说,这将是
InnerText
,而不是
InnerHtml
。这都是在asp.net表单中完成的吗?托管浏览器控件的windows窗体?@Mike_G它是在Ext.NET窗体(基于asp.NET)中完成的@Greg我试过了,但遗憾的是,什么都没有。在更改div的内容后是否重新渲染它?如果没有,那么您将看不到内部html中的任何更改,因为显示的页面没有更新,即使基础html已更改,我想我将按照您的建议执行,
将替代文本呈现为隐藏div或一些JavaScript,并完全在JavaScript中进行文本更改。
谢谢!啊,好像我写了“进入”。固定的。谢谢。这并不能解决问题。我创建了一个div
,运行了这个c#
this.statuspreviewLangName.InnerHtml=“asd”
然后这个js
document.getElementById('StatusPreview').innerHTML=document.getElementById('statuspreviewLangName').innerHTML因为js没有看到更改的div。。。。回到第1步:(我想我会按照你的建议做,
将替代文本渲染成一个隐藏的div或一些JavaScript,然后完全用JavaScript修改文本。
谢谢!啊,好像我写了“into-into”。修复。谢谢。这并不能解决问题。我创建了一个div
,运行了这个c
This.statuspreviewLangName.InnerHtml=“asd”
,然后是这个js
document.getElementById('StatusPreview')。InnerHtml=document.getElementById('statuspreviewLangName')).innerHTML;
因为js没有看到更改的div…。回到第1格:(正是我需要的!谢谢!正是我需要的!谢谢!
protected void hiddentoggletofrenchBackend(object sender, DirectEventArgs e)
{
    this.StatusPreview.InnerHtml = "aaaaa";
    this.StatusPreview.Update();
}