【问题标题】:Is there a way to use a C# script to change the inside html of a tag? [closed]有没有办法使用 C# 脚本来更改标签的内部 html? [关闭]
【发布时间】:2011-07-05 13:37:25
【问题描述】:

我需要将标签的内容从“购物车”更改为“下载”。通常这只能通过手动更改 html 来完成,但我无权访问它。相反,我可以访问在服务器上运行的 C# 脚本的一小部分。有没有办法通过 C# 脚本改变标签的内容?

编辑

好的,这是我必须更改的代码

<a id="ctl00_ctl00_PageHeader1_shoppingCart_anchor" class="navBarButton"
   href="javascript:__doPostBack('ctl00$ctl00$PageHeader1$shoppingCart$anchor','')">
      Shopping Cart</a>

这就是脚本头的内容

<script language="C#" runat="server">

希望这能提供更多背景信息,我真的只需要知道它是否可能,所以任何帮助都会很棒

【问题讨论】:

  • 也许吧。也许不吧。如果脚本生成页面,那么您可以更改它,使其生成不同的页面。如果没有,那么你可能不能。
  • 您需要提供更多上下文。答案可能从通过 ASP.NET 代码隐藏更改它到必须使用 HTML Agility Pack 解析出静态 HTML 文档。
  • 您知道您要更改的标签是否具有runat="server" 属性吗?如果是这样,那么您可以在服务器端对其进行修改。否则,答案是否定的。您必须使用 JavaScript 在客户端对其进行修改。

标签: c# html tags


【解决方案1】:

与其他答案一样,这将取决于服务器端代码实际提供的内容

你也许可以输出一些 javascript 来定位有问题的控件,并重置它的内容,可能是这样的......

document.getElementById('myTagId').innerHTML = 'Downloads';

不过,如果不了解 HTML 是什么,我就帮不了你了。

【讨论】:

  • 这实际上可能有很大帮助,如果我不能通过 c# 做到这一点,我的下一步是尝试 javascript,如果它工作不正常,请检查你的答案
【解决方案2】:

您可以使用控件代替标准 HTML,并在需要时更改其内容;

<asp:Literal id="litHeading" runat="server">Shopping Cart</asp:Literal>

在code_behind中

litHeading.Text = "Downloads";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 2010-11-05
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多