1
我在頁面上有一個複選框列表,如下所示。將屬性添加到ListItem,而不是呈現樣式
<asp:CheckBoxList runat="server" ID="lstFeatures" RepeatDirection="Vertical"></asp:CheckBoxList>
後端代碼看起來像這樣。
private void MakeRegionCheckboxes(ReportRegion region, int margin)
{
foreach (ReportRegion subregion in region.childRegions)
{
ListItem item = new ListItem();
item.Text = subregion.Name;
item.Value = subregion.Name;
item.Selected = subregion.DefaultSelection;
item.Attributes.Add("style", "margin-left:" + margin.ToString() + "px");
lstFeatures.Items.Add(item);
MakeRegionCheckboxes(subregion, margin + 30);
}
}
當這個運行在一個空白的項目,它縮進「次區域」很好的風格:保證金左:30PX獲取跨度渲染,你可以看到。
<td>
<span style="margin-left:30px">
<input id="lstFeatures_1" type="checkbox" checked="checked" name="lstFeatures$1">
<label for="lstFeatures_1">Member Information</label>
</span>
</td>
然而,當我在我的主要項目運行相同代碼不會呈現跨度,因此,保證金是沒有得到設置。我所得到的就是這個。
<td>
<input id="ctl00_pg_BuildReport_lstFeatures_1" type="checkbox" checked="checked" name="ctl00$pg$BuildReport$lstFeatures$1">
<label for="ctl00_pg_BuildReport_lstFeatures_1">Member Information</label>
</td>
這兩個項目(3.5)唯一的區別是主要的項目有一個母版,也許一些額外的面板,但我只是想知道什麼會停止越來越呈現跨度相同的框架?任何幫助都會有用。謝謝!
至於你提到爲什麼它可能是在兩個環境之間不同的具體問題,我會仔細檢查正在使用相同的服務包, ,我不認爲這很重要,但對於傻笑,我也很好奇兩個應用程序是否使用相同的HTML/XHTML文檔類型。 –
通過CssStyle添加它也不起作用。如果它有幫助,我在我自己的本地主機(使用內置的ASP.NET開發服務器,這顯示正確)下運行一個應用程序,另一個在Windows 2008 IIS 6服務器下運行(這不顯示樣式) – Coesy