我有以下代码,它将标签和gridview添加到asp.net页面:
GridView grd = CreateGridView(kvp.Key.Text);
Label l = new Label();
l.Text = "some text";
l.CssClass = "this has no effect";
placeHolderResults.Controls.Add(l);
placeHolderResults.Controls.Add(grd);
真的有两个问题:
由于页面将有多个且未知数量的Label + Grid对,我正在循环上面的代码,这是将控件添加到页面的最佳方法吗?
我不能标注这个标签?你怎么做呢?查看创建的HTML,标签结果是SPAN。
提前致谢,
吉姆
答案 0 :(得分:5)
l.CssClass只有将类名从样式中放入其中才会生效。例如:
<style type="text/css">
.boldText {text-weight: bold}
</style>
// then the following should work
l.CssClass = "boldText";
// this will generate: <span class="boldText">your text</span>
如果您只想直接添加样式,则可以执行以下操作:
l.Attributes.Add("style", "color:Red;font-weight:bold;");
// this will generate <span style="color:Red;font-weight:bold">your text</span>
我希望这会有所帮助。玩得开心!
PS:
<asp:Literal>
始终生成纯文本
<asp:Label>
生成 <SPAN>
<asp:Panel>
生成 <DIV>
2010年12月9日编辑 - 修复了基于Jim评论的示例代码中的错误
答案 1 :(得分:1)
将其更改为RED BOLD:
lblMyLabel.ForeColor = System.Drawing.ColorTranslator.FromHtml("#FF0000");
lblMyLabel.Style["font-weight"] = "bold";
将其更改为BLACK NORMAL:
lblMyLabel.ForeColor = System.Drawing.ColorTranslator.FromHtml("#000000");
lblMyLabel.Style["font-weight"] = "normal";
答案 2 :(得分:0)
使用
System.Web.UI.HtmlTextWriterStyle
和方法
public void Add(HtmlTextWriterStyle key, string value);
示例:
Label label = new Label
{
Text = "some text";
CssClass = "yourClass"
};
label.Style.Add(HtmlTextWriterStyle.MarginRight, "12px");
parentControl.Controls.Add(label);
答案 3 :(得分:0)
类问题已经回答了,对于要更改的“span”标签,我建议使用对象 HtmlGenericControl 并将其属性 TagName 分配给所需的标签,例如:
HtmlGenericControl myControl = new HmtlGenericControl { TagName = "label"};