0

我的页面上有一个标签控件。在后面的代码中,我调用了一个直接返回 HTML 文本的 Web 服务。例如:

string htmlFromWebService = client.ReturnHTML();
lblMyLabel.Text = htmlFromWebService;

字符串 htmlFromWebService 包含以下内容:

<h1 class='Class1'>
    HTML TEXT
</h1>
<div class='Class2'>
    Text 1<br />
    <br />
    Text 2<br />
    <br />
    Text n<br />
    <br />
</div>

现在我已经知道从 Web 服务返回的 HTML 包含一个名为 Class2 的类。我想做的就是-向该div添加一些(边距,填充等)css stlying。我怎样才能做到这一点?我不想像 htmlFromWebService.replace("class='Class2'", "class='Class2' cssclass="myclass""); 那样进行字符串替换

我想知道是否有任何适当或更好的方法。

谢谢。

4

3 回答 3

1

将样式块添加到您的标记中,如下所示:

<style type="text/css">
    h1.Class1 {
        margin: 5px;
        padding: 5px;
    }
    div.Class2 {
        margin: 10px;
        padding: 10px;
    }
</style>

注意:h1.Class1语法是一个选择器,用于查找类值为 的所有 H1 标记Class1

或者

将 CSS 放入样式表 ( Example.css) 中,如下所示:

h1.Class1 {
    margin: 5px;
    padding: 5px;
}
div.Class2 {
    margin: 10px;
    padding: 10px;
}

然后在您的标记中,您将需要引用样式表,如下所示:

<link rel="stylesheet" type="text/css" href="Example.css" />
于 2013-09-05T00:26:29.470 回答
1

我认为您不能从 html 字符串创建对象,如果这是您的要求...如果您不能使用 css(如 Karl Anderson 所说),我建议使用字符串方法来实现该功能。

例如:(请注意,此代码仅在只有一个对象具有在 stringToSearch 中定义的文本时才有效)

string stringToSearch = "Class2";
int indexOfClass2 = htmlFromWebService.IndexOf(stringToSearch);
string myAttributes = @" style='background-color: red;'";

string finalHtml = htmlFromWebService.Substring(0, indexOfClass2 + stringToSearch.Length+1);
finalHtml += myAttributes;
finalHtml += htmlFromWebService.Substring(indexOfClass2 + stringToSearch.Length+1);
于 2013-09-05T01:03:07.883 回答
1

对不起,双重职位,我刚刚发现了这个:

从完整的 html 字符串构建 HtmlGenericControl

也许它可以帮助你,是一种从字符串 html 创建控件的方法。:)

于 2013-09-05T01:09:22.757 回答