我正在尝试编辑旧版wss3 sharepoint网站。
乱用700多个代码行aspx页面我得到了“服务器标签形成不好”。 sharepoint上的错误和?content = 1技巧不起作用。
任何人都有关于如何到达引起问题的线路的提示? 我期待像aspnet ysod这样的东西,至少那是有用的。
如果它值得,我可以访问实际的服务器。
更新:我知道这个错误是因为我搞砸了标记,正如ArenB友好指出的那样。我想要的是,提示 700行上的是错误的。
更新2:我找到了一个workarround并将其作为答案发布,但问题仍然存在,等待某人就如何获取更具描述性的错误消息给出答案。
答案 0 :(得分:7)
在Visual Studio的页面上执行ctrl+k,d
应该可以近似显示错误的位置。快捷方式尝试为您格式化aspx页面,如果格式化失败,它会通过指向您发现有问题的行来告诉您原因。
答案 1 :(得分:3)
服务器标记格式不正确表示您的标记错误。即:
<asp:Label id="myLabel" runat="server"
Stuff!
</asp:Label>
注意标记顶部缺少>
另一种可能发生的方式是,如果您打算制作已终止的代码<tag />
,但忘记了/
,这会留下您丢失的结束标记。
答案 2 :(得分:2)
由于@Aren的回答,我解决了我的问题。我的xml很好,差不多。您无法在"..."
内使用" "
。您必须切换到'
。
我写道:
<asp:Repeater ID="LeadersBlock" runat="server" Visible="false">
<ItemTemplate>
<asp:Literal Text="<%# Eval("Employee") %>" />
</ItemTemplate>
</asp:Repeater>
而不是:
<asp:Repeater ID="LeadersBlock" runat="server" Visible="false">
<ItemTemplate>
<asp:Literal Text='<%# Eval("Employee") %>' />
</ItemTemplate>
</asp:Repeater>
我希望它可以节省别人的时间。
答案 3 :(得分:1)
好的,我想出了一个可能对某人有用的手动方式,但它也不理想。
首先,抓取aspx页面的代码并将其粘贴到另一个文件(作为备份)。
然后,按WebPart
删除WebPart
,然后WebPartZones
,然后删除任何其他可能的服务器端标记,直到页面停止中断。
这样,您至少可以知道错误的位置。
对我来说,这次是一个WebPartZone
,它有两个属性,两个属性之间没有空格。这种错误可能非常棘手。
我再也不会在aspx sharepoint页面上做这个疯狂的野蛮人黑客了。