お世話になってます。
C# ASP.NET 2002 で、aspxファイルの編集の為、
テキストモード(HTMLView)で行っています。
まれにですが、コントロールの定義部分で改行が無くなることがあります。
(1行で横に長くつながってしまう)
テキストの >< の部分にカーソルのあわせて、
リターンキーで元に戻しているのですが、コントロールの数が多いと大変です。
...しばらくして、また、つながってしまう事もあります。
そのような現象は仕方ないことなのでしょうか?
(中略)
> まれにですが、コントロールの定義部分で改行が無くなることがあります。
> (1行で横に長くつながってしまう)
(中略)
> ...しばらくして、また、つながってしまう事もあります。
> そのような現象は仕方ないことなのでしょうか?
仕方がないことなのかはわかりませんが・・・。
<body>
<h2>テスト<h2>
<br> // ←こんな感じで<br>を宣言していませんか?
<br>
</body>
BlackWind さん、返信ありがとうございます。
<br> は宣言していません。
<br> はブラウザ上で改行に置き換わる、と認識しています。
今回の現象は、ブラウザ上では問題なく正常に表示されます。
設計時のエデッタ上で改行が無くなってしまいます。
例
<body MS_POSITIONING=GridLayout>
<form id=MyForm method=post runat=server>
<FONT face=MS UI Gothic>
<asp:label id=Label1 .略.</asp:label><asp:label id=Label12 .
略.</asp:label><asp:textbox id=...
</body>
ソース上の話ですね。
えー、では次の操作を
【ツール】→ 【オプション】→【テキストエディタ】
【HTML/XML】→【書式】を選択。
【書式】の中にある、
デザインからHTMLビューへの切り替え時(&H)の
チェックを付けてください。
多分、適切改行が入ると思います。
(タグであれば・・・)
指摘された個所を見ると、チェックはすべて付いていました。
人為的に改行を削除してデザインからHTMLビューへ切り替えると、
確かに、<ASP: で始まるタグ以外は、改行が挿入されています。
改行を手入力する手間を考えると、ASPXファイルを読み込んで、
適時改行を挿入して出力するプログラムを作って対処してみます。
BlackWindさん、ありがとうございました。
お役にたてませんですみませんでした。
私もC#を初めて間もないので、以後こういう質問には
答えられるよう勉強しておきます。
>お役にたてませんですみませんでした。
いえいえ、とんでもないです。
ツール→ オプションからの、細かな設定は教えていただくまで知りませんでした。
VC++の対処プログラムですが、とりあえずは動いてます。
今後バグがでるかも...
CString path = Dlg.GetPathName();
HANDLE handle;
DWORD dw;
char Buffer[10];
std::vector <char> v;
if((handle = CreateFile(path,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS,
NULL)) == INVALID_HANDLE_VALUE)
{
return ;
}
char cd = 0x0d;
char ca = 0x0a;
while(1)
{
if(ReadFile(handle,Buffer,1,&dw,NULL) == 0)
{
break;
}
if(dw == 0) break;
v.push_back(Buffer[0]);
if(Buffer[0] == '>')
{
if(ReadFile(handle,Buffer,2,&dw,NULL) == 0)
{
break;
}
if(dw == 0) break;
if(Buffer[0] == '<' && Buffer[1] == 'a')
{
v.push_back(cd);
v.push_back(ca);
}
v.push_back(Buffer[0]);
v.push_back(Buffer[1]);
}
}
if (SetFilePointer (handle,0,NULL,FILE_BEGIN) == 0xFFFFFFFF)
{
return ;
}
int n;
for(n = 0 ; n < v.size(); n++)
{
if (WriteFile(handle,&(v[n]),sizeof(char),&dw,NULL) == 0)
{
break;
}
}
CloseHandle(handle);