1

私は奇妙な状況にあり、テーブルがあり、すべての行に ajax フォームがあります。 Formでは許可されていませんが、trでは許可されていtdます。そのため、すべての列を a 内に配置しtd、手動でサイズを合わせる必要がありました。問題は、HtmlHelpers(ASP.Net MVC Razor) が追加するパディングとマージンにより、コンテンツが正しいヘッダー列の下に配置されないことです。

特定のクラス内で、すべてのアイテムのすべてのマージンとパディングを再帰的に取り除く css を作成する必要があります。どうやってやるの?

または、ヘッダーの下にコンテンツを強制的に配置する簡単な方法はありますか?

<table style="width: 100%">
<thead>
    <tr>
        <th style="width: 5%">Id</th>
        <th style="width: 35%">Material</th>
        <th style="width: 60%">Description</th>
    </tr>
</thead>
<tbody>
    @foreach (var item in Model.items){
        <tr>
            <td class="noMarginAndPadding" colspan="3">
            @using (@Ajax.BeginForm()){
                <span style="width: 5%">@Html.TextBoxFor(i => item.Id)</span>
                <span style="width: 35%">@Html.TextBoxFor(i => item.Name)</span>
                <span style="width: 60%">@Html.TextBoxFor(i => item.Description)</span>
            }
             </td>
        </tr>
    }
</tbody>

4

1 に答える 1

2

<span>s はインライン要素であり、幅、高さを受け入れることはできません..

が幅を受け入れられるようにするには、display: ブロックを追加します。スパンの CSS に。

それ以外の場合は、Span の代わりに Div を使用します

@using (Ajax.BeginForm("Result", new AjaxOptions { UpdateTargetId ="result"}))
 {
      <div style="width:5%;float:left;text-align:center" >@Html.TextBoxFor(i => item.Id)</div>
      <div style="width: 35%;float:left;text-align:center">@Html.TextBoxFor(i => item.Name)</div>
      <div style="width: 60%;float:left;text-align:center">@Html.TextBoxFor(i => item.Description)</div>
 }
于 2013-03-21T06:17:26.700 に答える