C#代码中的Div样式
是否可以将div样式置于C#label控件中?与iTextSharp合作C#代码中的Div样式,c#,C#,是否可以将div样式置于C#label控件中?与iTextSharp合作 var background = new Label { Text = "<div style='margin-left: 40px;'>" + "<br/><b><u>" + LabelBackground.Text + "</u></b><br/>" + "<b>" + LabelDoB.Text + "&l
var background = new Label
{
Text = "<div style='margin-left: 40px;'>" + "<br/><b><u>" + LabelBackground.Text + "</u></b><br/>" + "<b>" + LabelDoB.Text + "</b>" + LabelDoBFromDb.Text +
"<br/>" + "<b>" + LabelPhone.Text + "</b>" + LabelPhoneFromDb.Text + "<br/>" + "<b>" + LabelEmail.Text + "</b>" +
LabelEmailFromDb.Text + "<br/>" + "<b>" + LabelPosition.Text + "</b>" +
LabelPositionFromDb.Text + "<br/>" + "</div>"
};
var background=新标签
{
Text=“”+”
“+LabelBackground.Text+”
“+”+LabelDoB.Text+”+LabelDoBFromDb.Text+
“
”+”“+LabelPhone.Text+”“+LabelPhoneFromDb.Text+”
“+”“+LabelMail.Text+”+
LabelEmailFromDb.Text+“
”+“”+LabelPosition.Text+“”+
LabelPositionFromDb.Text+“
”+“”
};
我的
标记可以工作,但
全部代码:
//Create Document class object and set its size to letter and give space left, right, Top, Bottom Margin
Document doc = new Document(PageSize.A4, 10, 10, 42, 35);
try
{
PdfWriter.GetInstance(doc, new FileStream("c:\\Test11." + DropDownListDownload.SelectedItem.Text, FileMode.Create));
var sv = new StringWriter();
doc.Open();//Open Document to write
var hTextWriter = new HtmlTextWriter(sv);
var background = new Label
{
Text = "<div style='margin-left: 40px;'>" + "<br/><b><u>" + LabelBackground.Text + "</u></b><br/>" + "<b>" + LabelDoB.Text + "</b>" + LabelDoBFromDb.Text +
"<br/>" + "<b>" + LabelPhone.Text + "</b>" + LabelPhoneFromDb.Text + "<br/>" + "<b>" + LabelEmail.Text + "</b>" +
LabelEmailFromDb.Text + "<br/>" + "<b>" + LabelPosition.Text + "</b>" +
LabelPositionFromDb.Text + "<br/>" + "</div>"
};
background.RenderControl(hTextWriter);
//LANGUAGES
string languages = string.Empty;
var lbLanguages = new Label();
foreach (var vLang in BulletedListLanguages.Items)
{
languages += vLang + "<br/>";
}
lbLanguages.Text = "<br/><b><u>" + LabelLanguages.Text + "</u></b><br/>" + languages;
lbLanguages.RenderControl(hTextWriter);
String strHtml1 = sv.ToString();
var hw = new HTMLWorker(doc);
hw.Parse(new StringReader(strHtml1));
}
finally
{
doc.Close();
}
//创建文档类对象,将其大小设置为字母,并在左、右、上、下边距处留出空间
文档文档=新文档(PageSize.A4、10、10、42、35);
尝试
{
GetInstance(doc,新文件流(“c:\\Test11.”+DropDownListDownload.SelectedItem.Text,FileMode.Create));
var sv=新的StringWriter();
doc.Open();//打开要写入的文档
var hTextWriter=新的htmltextwitter(sv);
var background=新标签
{
Text=“”+”
“+LabelBackground.Text+”
“+”+LabelDoB.Text+”+LabelDoBFromDb.Text+
“
”+”“+LabelPhone.Text+”“+LabelPhoneFromDb.Text+”
“+”“+LabelMail.Text+”+
LabelEmailFromDb.Text+“
”+“”+LabelPosition.Text+“”+
LabelPositionFromDb.Text+“
”+“”
};
后台渲染控件(hTextWriter);
//语言
string languages=string.Empty;
var lbLanguages=新标签();
foreach(BulletedListLanguages.Items中的var vLang)
{
语言+=vLang+“
”;
}
lbLanguages.Text=“
”+LabelLanguages.Text+”
“+语言;
lbLanguages.RenderControl(hTextWriter);
字符串strHtml1=sv.ToString();
var hw=新的HTMLWorker(文档);
解析(新的StringReader(strHtml1));
}
最后
{
doc.Close();
}
您可以向某些控件添加标记(根据需要查看“literal”标记),但是,您可能会发现使用添加类更好
你把
放在标签里,这在语义上是个坏主意。就我个人而言,我要做的是制作一个面板
标记,它无论如何都会呈现一个
i、 e
我认为在这种情况下最好添加asp:Literal
。因此标签的默认asp样式不会有问题。asp:Label呈现一个作为内联标记的范围。所以你不能把一个div放在一个span中。您可以使用runat服务器用一个简单的div替换标签,并使用InnerHtml或InnerText属性放置文本
aspx
ASP.NET或您想做什么?@bash.d,我正在将我的信息呈现为PDF文档,一切正常,但我真的不知道如何在上面添加样式。与iTextSharp合作,想让我把我的全部代码放在里面吗?嗯,不是我的类型,但其他人可能会帮助。所以,去吧!或者使用CssClass
并使用普通css应用类。使用“asp:literal”时使用+1。这很容易使用,而且逻辑性更强
Label label = new Label();
label.CssClass="class";
label.Text = "My content";
var background = new Panel();
var text = new Literal
{
Text = "<br/><b><u>" + LabelBackground.Text + "</u></b><br/>" + "<b>" + LabelDoB.Text + "</b>" + LabelDoBFromDb.Text +
"<br/>" + "<b>" + LabelPhone.Text + "</b>" + LabelPhoneFromDb.Text + "<br/>" + "<b>" + LabelEmail.Text + "</b>" +
LabelEmailFromDb.Text + "<br/>" + "<b>" + LabelPosition.Text + "</b>" +
LabelPositionFromDb.Text + "<br/>"
};
background.Controls.Add(text);
background.Attributes["margin-left"] = "40px"; // Preferably, I'd add a class and do this plainly in CSS.
<div style="margin-left: 40px">
<br/><b><u><asp:Literal runat="server" ID="DisplayLabelBackground" /></u></b> // etc, but I *definitely* wouldn't use <b> and <u> tags either
</div>
DisplayLabelBackground.Text = LabelBackground.Text;
<div id="myDiv" runat="server" style="margin-left:40px"></div>
myDiv.InnerHtml = "..."