1

有没有人在 ASP.Net 网络表单页面中打开 BODY 标记之后注入 HTML 片段的示例?这段代码的定位非常具体。

开始的 HTML 可能如下所示:

</head>
<body>
<div id="header">

生成的 HTML 应如下所示:

</head>
<body>
<div id="new-div"></div>
<div id="header">

这是一种无法直接操作 HTML 的场景,而 javascript 这样做太晚了,以至于附加的 HTML 无法发挥作用。它必须使用服务器端代码完成,并且在 HTML 进入 Web 浏览器之前就位。

4

2 回答 2

1

你可以在你的 aspx 标记中这样做:

<html>
    <head>
    </head>
    <body>
        <%= FunctionTheOutputsString() %>

是的<%=缩写Response.Write(),是直接写入页面的函数。

于 2012-12-17T19:53:23.667 回答
0

使用 jQuery,您可以prepend()这样使用:

​$(function(){
 $('body').prepend('<div id="new-div">Div content</div>');
})​;

jsfiddle在这里。

更新:服务器端解决方案也可以是(除了上面的答案):

<html>
  <head>
  </head>
<body>
   <asp:placeholder id="divPlaceHolder" Visible="False" runat="server">
      <div id="new-div">
      </div>
   </asp:placeHolder>

在 Page_Load()...

 if(SomeCondition)
    divPlaceHolder.Visible=true;

并且由于不呈现不可见元素,因此只有在为 truenew-div时才会显示该元素SomeCondition

于 2012-12-17T20:02:35.553 回答