4

これは本当にいらいらさせられ、12 のサイトを検索する必要があります。

行と列を<asp:table id="questionsTable" runat="server">動的に追加する があります。これらの新しく作成された行と列に定義済みの Cssclass を追加しようとしていますが、役に立ちません。

行と列の設定コード:

TableRow row = new TableRow();
TableCell cell1 = new TableCell();
TableCell cell2 = new TableCell();
TableCell cell3 = new TableCell();
TableCell cell4 = new TableCell();
TableCell cell5 = new TableCell();

私はこれができることを知っています:

row.Style.Add("width", "80%");
row.Style.Add("text-align", "left");

cell1.Style.Add("width", "10px");
cell2.Style.Add("width", "auto");
cell3.Style.Add("width", "75px");
cell4.Style.Add("width", "75px");
cell5.Style.Add("width", "75px");

そしてそれは機能します...しかし、コードビハインドファイルが乱雑になります。

だから私はこれを見てきました:

row.Attributes.Add("Class", "rowA");

//CSS - in StyleSheet.css
.rowA
{
    width:80%;
    text-align:center;
    background-color:#FCF6CF;
}

しかし、それは私のために働いていないようです....

しかし、奇妙なことに、生成されたマークアップ ソースを見ると、これが得られます

    </tr><tr Class="rowA">

上記はレンダリングされたページからコピーされたものですが、Css は適用されていません...手動で追加すると正しく適用されるため、css が正しいことはわかっています。

編集

これを支援してくれたすべての人に感謝します。残念ながら、何か問題が発生し、外部スタイルシートへのリンクが削除されました。それを考えてくれたSvenに称賛を。今日のような長い一日の後、私は初心者の間違いを犯す可能性があります.

もう一度ありがとう

敬具

エイデン

4

3 に答える 3

7

属性classは小文字にする必要があります (XHTML):

row.Attributes.Add("class", "rowA");

また、テーブルをレンダリングするページに CSS ファイルが含まれていることを確認してください。

于 2012-08-30T11:47:05.487 に答える
5

行の生成された html 出力にクラスがある場合、html ファイルにリンクされていない css ファイルがあるか、クラス名にタイプミスがあります。

于 2012-08-30T12:16:29.890 に答える
1

コードビハインドに問題はありません。あなたのCSSが間違っています。

テーブルに関する W3 ドキュメントを参照してください。

テーブルの水平レイアウトは、セルの内容に依存しません。テーブルの幅、列の幅、および境界線またはセルの間隔にのみ依存します。

行の幅を 80% にしたい場合は、テーブルの幅を 80% に設定する必要があります。このような:

<asp:table id="questionsTable" runat="server" class="myTable">

.rowA
{
   text-align:center;
   background-color:#FCF6CF;
}

.myTable{
   width:80%;
}
于 2012-08-30T11:48:54.320 に答える