2009-04-09 9 views
1

私はSQLデータソースを持っており、実際には長いSQL文字列を持っています。私は自分のSQLにlinebreaksを入れたいが、Visual Studioは改行が好きではないようだ。私はどのように改行を入れますか?ASP.NETコントロール宣言のプロパティに改行を追加するにはどうすればよいですか?

これが私のためにうまくコンパイル

<asp:SqlDataSource ID="SqlDataSource1" runat="server"   
     ProviderName="System.Data.SqlClient" 
     SelectCommand="select aci.ACIOI, aci.AccountNum, (select count(r.OI) from Report r where aci.ACIOI = r.ACIOI) as ReportCount, ci.Name, aci.BusinessName, ci.[Address] As StreetAddress, ci.Town, ci.Zip, ci.Phone from AdditionalCustomerInformation aci left join CustomerInformation ci on ci.ACI_OI = aci.ACIOI where (select count(r.OI) from Report r where aci.ACIOI = r.ACIOI) >= 1" 
     >   
     </asp:SqlDataSource> 

答えて

3

例:論理的である

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ProviderName="System.Data.SqlClient" SelectCommand="select aci.ACIOI, 
aci.AccountNum, (select count(r.OI) from Report r where aci.ACIOI = r.ACIOI) as ReportCount, 
ci.Name, aci.BusinessName, 
ci.[Address] As StreetAddress, ci.Town, 
ci.Zip, ci.Phone 
from AdditionalCustomerInformation aci left join CustomerInformation ci on ci.ACI_OI = aci.ACIOI 
where (select count(r.OI) from Report r where aci.ACIOI = r.ACIOI) >=1"> </asp:SqlDataSource> 

...。コンパイラは、SQL文全体がSelectCommandプロパティのクォートで囲まれている限り、マークアップが別々の行に分割されているかどうかは気にしないでください。

この問題は、SQLステートメントの>シンボルのために発生します。このシンボルをエスケープするには2通りの方法があります。代わりに&gt; HTMLエンティティを次のように使用してください。

SelectCommand = "SELECT.... &gt;= 1" 
+0

SelectCommand = @ "SELECT ..."はASP.NETマークアップでは無効です – Greg

+0

Ahh、ヘッドアップに感謝します。私はそれがいつか戻って動作することを読んでいるように思います。 – Cerebrus

+0

FYI - あなたの最後の例の@はまだそこにあります。 – Greg

1

HTMLエスケープが必要です。あなたの>を& gtに置き換えてください。

同様に、<は&となります。

関連する問題