我在APX中通过C#代码创建HTML和ASPX文件一切正常但在HTML页面中它附加了aspx标签,该标签在正文中显示为纯文本。我想删除正文中以<%
开头并以%>
<body>
<center>
<%String action = "http://" + Request.Url.Authority+"/ABC/Data/a12.aspx" ; %>
<div>
<form>
// some input fields and a submit button
</form>
</div>
</center>
</body>
我试过了
document.body.innerHTML = document.body.innerHTML.replace( <%String action = "http://" + Request.Url.Authority+"/ABC/Data/a12.aspx" ; %>, "");
但对我来说没有用,因为生成的aspx标记始终不一样..
答案 0 :(得分:1)
在此代码中:
document.body.innerHTML = document.body.innerHTML
.replace( <%String action = "http://" + Request.Url.Authority+"/ABC/Data/a12.aspx" ; %>, "");
你是:不使用字符串作为第一个参数,这是无效的。
我建议您使用匹配&lt;%[anything]%&gt;的正则表达式。
像这样:
document.body.innerHTML = document.body.innerHTML
.replace(/<%.*%>/g, "");
答案 1 :(得分:0)
通过使用正则表达式,我想这应该给你需要的东西:
<script>
document.body.innerHTML = document.body.innerHTML.replace(/(<%).*(%>)/ig, '');
</script>
答案 2 :(得分:0)
代码渲染块不应该在HTML页面中呈现,除非您错误地使用它们。尝试按如下方式修改标记:
<body>
<center>
<div>
<form action='<%= "http://" + Request.Url.Authority + "/ABC/Data/a12.aspx" %>'>
// some input fields and a submit button
</form>
</div>
</center>
</body>