我有以下asp.net代码
asp:MultiView runat="server" ID="mvPaymentsOnProperty" ActiveViewIndex="0">
<asp:View runat="server" ID="vPaymentsMadeOnProperty">
<br />
<asp:GridView runat="server" ID="gvPaymentsMadeOnProperty" AutoGenerateColumns="false" EmptyDataText="bla bla">
<Columns>
<asp:BoundField HeaderText="bla" DataField="bla" />
<asp:BoundField HeaderText="foo" DataField="bar" />
</Columns>
</asp:GridView>
</asp:View>
<asp:View runat="server" ID="vNoPaymentsMadeOnProperty">
Some sort of error
</asp:View>
</asp:MultiView>
当我尝试加载页面时,出现以下错误
MultiView不能有'GridView'类型的子节点。它只能有 View类型的孩子。
我已经折叠了Multiview代码,它拥有的唯一两个孩子就是视图。是否因为视图的内容而抱怨?因为否则会使它几乎完全没用。
我该如何解决这个问题?
答案 0 :(得分:6)
我收到了确切的错误,但就我而言,我忘了在View控件中设置runat="server"
。
如果一个人不包含runat="server"
,则该控制只是不存在后端。我希望这会有所帮助。
答案 1 :(得分:3)
此错误表示您的视图标记之外有其他内容。 即您在multiview标记中直接使用了asp元素(视图除外),而不是在视图标记中。
确保在视图标记之外的多视图中没有gridview。
答案 2 :(得分:0)
最初我遇到相同的错误,但是在删除上一个视图并再次替换视图后,它对我来说正常工作
下面是相同的简单MultiView
UPDATE
table
SET
col00 = CASE WHEN col00 = -1 THEN -999 ELSE col00 END,
col01 = CASE WHEN col01 = -1 THEN -999 ELSE col01 END,
col02 = CASE WHEN col02 = -1 THEN -999 ELSE col02 END,
...
col37 = CASE WHEN col37 = -1 THEN -999 ELSE col37 END,
col38 = CASE WHEN col38 = -1 THEN -999 ELSE col38 END,
col39 = CASE WHEN col39 = -1 THEN -999 ELSE col39 END
WHERE
-1 IN (col00, col01, col02, ... col37, col38, col39)