我在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"/>
非常感谢。
答案 0 :(得分:2)
据我所知,没有一个很好的1-liner可用。但是你可以创建一个方法(让我们称之为'dotnetImport')来发出一个web请求并像这样调用它:
<%= 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;
}
免责声明,我没有对此进行测试,它是一个起点,而不是一个随时可用的粘贴解决方案。
享受