2011-08-16 3 views
0
<asp:TableCell> 
     <asp:Localize ID="lblPlntnextOneCtrlRes" meta:resourcekey="lblPlntnextOneCtrlRes" runat="server" /> 
     <asp:Button ID="cmdPlntAcceptnextOneCtrlRes" meta:resourcekey="cmdPlntAcceptnextOneCtrlRes" OnClick="cmdQualAccept_Click" runat="server" Text="Accept" Visible="True" /> 
    </asp:TableCell> 
    </asp:TableRow> 
</asp:Table> 

내가이 XMLDocument를 사용하여 출력의 종류를 좀하고 싶습니다,하지만 난 ASP에 대한 네임 스페이스 오류가 계속 : 메타 :xmldocument를 사용하여 ASP 태그를 추가하는 방법은 무엇입니까?

내가 마크 업을 생성 할 때 현재, 나는이와 끝까지 (하지만 것 가) 위처럼 보이게하려면 :

Dim markupRoot As XmlElement = markup.DocumentElement 

Dim rowElement As XmlElement = markup.CreateElement("TableRow") 
Dim cellElement As XmlElement = markup.CreateElement("TableCell") 
Dim contentElement As XmlElement = markup.CreateElement("Localize") 
contentElement.SetAttribute("ID", "tag" & ctrlName & "DescRes") 
contentElement.SetAttribute("resourcekey", "tag" & ctrlName & "DescRes") 
contentElement.SetAttribute("runat", "server") 

cellElement.AppendChild(contentElement) 
rowElement.AppendChild(cellElement) 

cellElement = markup.CreateElement("TableCell") 
contentElement = markup.CreateElement("Localize") 
contentElement.SetAttribute("ID", "tag" & ctrlName & "NoteRes") 
contentElement.SetAttribute("resourcekey", "tag" & ctrlName & "NoteRes") 
contentElement.SetAttribute("runat", "server") 

cellElement.AppendChild(contentElement) 
rowElement.AppendChild(cellElement) 
+0

구문을 기억할 수는 없지만 'asp'의 네임 스페이스를 추가하면됩니까? 거기에 요소를 생성하는 오버로드가 있다고 생각합니다 ... –

+0

네임 스페이스를 추가 할 항목을 찾지 못했습니다. – dotnetN00b

답변

1

시도 :

여기
<TableCell> 
     <Localize ID="lblPlntnextOneCtrlRes" resourcekey="lblPlntnextOneCtrlRes" runat="server" /> 
     <Button ID="cmdPlntAcceptnextOneCtrlRes" resourcekey="cmdPlntAcceptnextOneCtrlRes" OnClick="cmdQualAccept_Click" runat="server" Text="Accept" Visible="True" /> 
    </TableCell> 
    </TableRow> 
</Table> 

코드의 일부는 내가 마크 업을 만드는 데 사용하고 있어요

결과 XML (참고 : 루트 노드의 네임 스페이스를 수동으로 추가 된)

cellElement = markup.CreateElement("asp:TableCell","asp") 
+0

코드가 오류를 생성하지 않도록 실제 XML 문서 자체에 아무 것도 추가해야합니까? – dotnetN00b

+0

최상위 요소 또는 markup.documentElement에이를 추가 할 수 있습니다. Element.SetAttribute ("xmlns : asp", "http://asp.net/XMLSchema") 물론 올바른 스키마 URL을 가져와야합니다. . –

+0

찾았습니다. http://www.w3schools.com/xml/xml_namespaces.asp 게시 한 것과 동일하게 보입니다. 고마워, 러스. – dotnetN00b

0

나는 기본 네임 스페이스를 설정하기 위해 찾은 방법은 다음과 같다 -

<?xml version="1.0" encoding="utf-8"?> 
<Root xmlns:asp="http://admin.test.com/asp" xmlns:meta="http://admin.test.com/meta" xmlns:cc1="http://admin.test.com/cc1"> 
<cc1:TabContainer ID="wfwContainer" runat="server" AutoPostBack="True" ActiveTabIndex="0"> 
    <cc1:TabPanel ID="wfwTab" runat="server" HeaderText=""> 
     <HeaderTemplate> 
     <asp:Localize ID="tagwfwRes" meta:resourcekey="tagwfwRes" runat="server" /> 
     </HeaderTemplate> 
     <ContentTemplate /> 
    </cc1:TabPanel> 
    </cc1:TabContainer> 
</Root> 

코드가 xml을 생성합니다 -

Protected Sub createMarkupForTabs() 

    Dim markup As XmlDocument = New XmlDocument() 
    Dim truePath As String = Server.MapPath("Test.xml") 

    markup.Load(truePath) 

    Dim markupRoot As XmlElement = markup.DocumentElement 

    Dim tabContainerElement As XmlElement = markup.CreateElement("cc1", "TabContainer", "http://admin.test.com/cc1") 
    Dim tabElement As XmlElement = markup.CreateElement("cc1", "TabPanel", "http://admin.test.com/cc1") 

    Dim headTempElement As XmlElement = markup.CreateElement("HeaderTemplate") 
    Dim headerContentElement As XmlElement = markup.CreateElement("asp", "Localize", "http://admin.test.com/asp") 
    Dim contentTempElement As XmlElement = markup.CreateElement("ContentTemplate") 

    headerContentElement.SetAttribute("ID", "tag" & mainTabName.Text & "" & "Res") 
    headerContentElement.SetAttribute("resourcekey", "http://admin.test.com/meta", "tag" & mainTabName.Text & "" & "Res") 
    headerContentElement.SetAttribute("runat", "server") 

    headTempElement.AppendChild(headerContentElement) 

    tabElement.SetAttribute("ID", mainTabName.Text & "" & "Tab") 
    tabElement.SetAttribute("runat", "server") 
    tabElement.SetAttribute("HeaderText", "") 

    tabElement.AppendChild(headTempElement) 
    tabElement.AppendChild(contentTempElement) 

    tabContainerElement.SetAttribute("ID", mainTabName.Text & "Container") 
    tabContainerElement.SetAttribute("runat", "server") 
    tabContainerElement.SetAttribute("AutoPostBack", "True") 
    tabContainerElement.SetAttribute("ActiveTabIndex", "0") 

    tabContainerElement.AppendChild(tabElement) 

    markupRoot.AppendChild(tabContainerElement) 

    markup.Save(truePath) 
End Sub