我有一个ASP.NET MVC应用程序,我正在尝试从另一个ASP.NET项目中的Handler加载以下html片段,从我的一个控制器中显示在视图中:
<br />
<div id="ctl00_divCommentary" class="commentary">
<div id="ctl00_divCommentaryHeader">
<span id="ctl00_lblCommentaryHeaderBold" class="commentaryHeader">blah</span>
<span id="ctl00_lblCommentaryHeader">blah</span>
</div>
<div id="ctl00_divCommentaryText" class="commentaryText">blah blah blah</div>
</div>
我用来获取该html片段的代码如下:
public string GetCommentary()
{
string commentary = "";
Uri uri = new Uri("http://localhost/Handlers/CommentaryHandler.ashx");
var doc = XDocument.Load(uri.ToString());
commentary = doc.ToString();
return commentary;
}
这是失败的
var doc = XDocument.Load(uri.ToString());
显示消息“有多个根元素”。
有没有办法调用Handler并以某种方式将结果加载到字符串中?
由于
戴夫
答案 0 :(得分:0)
确实存在多个根元素(<div>
和<br>
)。从代码段中松开<br>
或将所有代码段包装在另一个<div>
中以使其有效..
答案 1 :(得分:0)
这最终起作用了:
<% Html.RenderAction("HtmlSource", "MyController"); %>
在Controller中使用以下方法:
public string HtmlSource()
{
HtmlManager wm = GetHtmlManager(2, 6);
return wm.Html;
}
Html管理器只是从文件中读取html,与文本
相同