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”
然后这个jsdocument.getElementById('StatusPreview').innerHTML=document.getElementById('statuspreviewLangName').innerHTML代码>因为js没有看到更改的div。。。。回到第1步:(我想我会按照你的建议做,将替代文本渲染成一个隐藏的div或一些JavaScript,然后完全用JavaScript修改文本。
谢谢!啊,好像我写了“into-into”。修复。谢谢。这并不能解决问题。我创建了一个div
,运行了这个cThis.statuspreviewLangName.InnerHtml=“asd”
,然后是这个jsdocument.getElementById('StatusPreview')。InnerHtml=document.getElementById('statuspreviewLangName')).innerHTML;
因为js没有看到更改的div…。回到第1格:(正是我需要的!谢谢!正是我需要的!谢谢!
protected void hiddentoggletofrenchBackend(object sender, DirectEventArgs e)
{
this.StatusPreview.InnerHtml = "aaaaa";
this.StatusPreview.Update();
}