0
我試圖實現解決方案來更新用戶控件顯示的內容,而無需重新發布用戶控件本身。 UC從外部文件獲取xml作爲其內容,而不是將內容存儲在控件中,因此xml是重新發布的而不是UC。在運行時從XML中檢索和處理服務器端值
問題是我還需要包含內聯變量的內容,例如<%= myvariable%>。有沒有辦法檢索xml,然後在運行時運行它,而不是將其視爲文本?
以下僅僅是一個基本的例子,僅涉及這個問題的基礎知識,並不是頁面上代碼的完整範圍,但希望這足以說明我所要求的內容。而不僅僅是「Response.Write(xmlcontent);」有沒有什麼辦法可以讓我的xml獲取運行的值,就好像它在運行時對頁面是「本地的」,並處理內聯變量?
用戶控制:
<script runat="server">
string xmlcontent = "";
protected override void OnLoad(EventArgs e)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("/usercontrols/xml/test.xml"));
xmlcontent = doc.SelectSingleNode("content").InnerText;
}
catch
{
}
}
</script>
<%if (!string.IsNullOrEmpty(xmlcontent))
{
Response.Write(xmlcontent);
} %>
XML:
<content>
<![CDATA[<div>This is the content. The next word is a C# variable <% =variabletest %>.</div>]]>
</content>
我給了這個鏡頭,但對我來說,它仍然處理<%= variabletest%>作爲文本,而不是作爲代碼處理它。 – user1408652
對不起,我忘了提及,您必須將「<%= variabletest%>」更改爲「{0}」,以便用每個「{0}」的替代值替換variabletest的值 – rolivares