1

我在 JSP+JSTL (Java) 中有这段代码,可以在页面中插入一些 HTML:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:set var="caasPath" value="http://wwww.MyExampleSite.com/header/default"/>
<c:import url="${caasPath}/header?contentType=html"/>

我需要做同样的事情,但在 ASP.NET Web 窗体(.aspx 文件)中。我尝试过使用 .ascx,但我不知道如何在不使用 iframe 的情况下直接在页面中插入 html。

这是 MSDN 中关于如何转换 Java 代码和使用 Web 表单控件的示例http://msdn.microsoft.com/en-us/library/aa478990.aspx

与此代码等效的 Asp.Net (.aspx) 是什么?

我已经尝试过这样的事情,但它不起作用(http://msdn.microsoft.com/en-us/library/sbz9etab%28v=vs.85%29.aspx

<%@ Register Src="http://wwww.MyExampleSite.com/header/default/header?contentType=html" TagName="header"  Tagprefix="cta" %>
<cta:header ID="headerSection" runat="server"/>

非常感谢。

4

1 回答 1

2

据我所知,没有一个不错的 1-liner 可供您使用。但是您可以创建一个发出 Web 请求的方法(我们称之为“dotnetImport”)并像这样调用它:

<%= dotnetImport("http://wwww.ExampleSite.com/header/default/header?contentType=html"); %>

其中 dotnetImport 被定义:

public string dotnetImport(string address) {
  WebRequest request = WebRequest.Create (address);
  request.Credentials = CredentialCache.DefaultCredentials;
  HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
  Stream dataStream = response.GetResponseStream ();
  StreamReader reader = new StreamReader (dataStream);
  string responseFromServer = reader.ReadToEnd ();
  // dispose the above... use best practices to avoid memory leaks.
  return responseFromServer;
}

免责声明,我没有对此进行测试,它只是作为一个起点,而不是一个现成的粘贴解决方案。

享受

于 2013-06-05T23:27:26.330 回答