2011-06-20 118 views
3

ASP.NETマークアップにVB.NETコードを挿入しようとすると、このエラーが発生します。あなたがレンダリングし、コードブロックが内部にサポートされていない変更HTMLコントロールにrunat='server'を追加するとASP.NETのエラーコードブロックはこのコンテキストではサポートされていません

<%@ Control Inherits="PerformanceWeb.Framework.SiteSettings" CodeBehind="sitesettings.ascx.vb" language="vb" AutoEventWireup="false" %> 

<table id="TABLE1" cellSpacing="0" cellPadding="2" border="0" runat="server"> 
<% If EditDowntimeMode Then%> 

    <tr><td class="Normal"><asp:label id="lblDowntimeLegacyMode" Runat="server">lblDowntimeLegacyMode</asp:label></td></tr> 

    <tr> 
     <td class="DowntimeLegacyModeIndented" width="130"> 
      <asp:label id="lblLegacyMode" Runat="server">lblLegacyMode</asp:label> 
     </td> 
     <td class="Normal" colSpan="2"> 
      <asp:RadioButton id="rdoLegacyMode" GroupName="DowntimeLegacyMode" Runat="server"></asp:RadioButton> 
     </td> 
    </tr> 
    <tr> 
     <td class="DowntimeLegacyModeIndented" width="130"> 
      <asp:label id="lblNewCauses" Runat="server">lblNewCauses</asp:label> 
     </td> 
     <td class="Normal" colSpan="2"> 
      <asp:RadioButton id="rdoNewCauses" GroupName="DowntimeLegacyMode" Runat="server"></asp:RadioButton> 
     </td> 
    </tr> 

    <tr> 
     <td colspan="2"><hr /></td> 
    </tr> 

<% End if%> 
</table> 

分離コード

#Region "Properties" 
     Public Property EditDowntimeMode() As Boolean 
      Get 
       Return m_EditDowntimeMode 
      End Get 
      Set(ByVal value As Boolean) 
       m_EditDowntimeMode = value 
      End Set 
     End Property 

#End Region 

答えて

4

:コードを参照してください。

<table id="TABLE1" cellSpacing="0" cellPadding="2" border="0" runat="server"> 

:から変更

ページの読み込みの背後にあるコードで

<table id="TABLE1" cellSpacing="0" cellPadding="2" border="0"> 
0

は、あなただけのEditDowntimeModeの否定にテーブルのVisibleプロパティを設定することができませんでしたか?それはあなたがやっていることでマークアップを一緒に混ぜようとするよりも優れた解決策に思えます。

の背後にあるコードのPage_Loadメソッドでは、このような何か:

Table1.Visible = Not EditDowntimeMode 

例のコードが出てブロックしたかのようにそのような場合には、当該与えられたコード例を更新する必要がありますテーブル内のすべて。 ASP:Panelブロックを使用して、別のアイデアの可視性を制御したり、内部テーブルが「EditDowntimeMode」に表示されるようにテーブルをネストすることができます。

+0

表に表示する必要がある他のものがあるため、できません。 –

関連する問題