使用PocketView,操作Html ======================= PocketView是一个API,用于使用C#代码,用HTML的术语简明地编写HTML。就像HTML方法一样,它返回一个实现IHtmlCent的对象,因此输出将被假定为有效的HTML并呈现到您的笔记本中。这里有一个例子: ```csharp using Microsoft.DotNet.Interactive.Formatting; using static Microsoft.DotNet.Interactive.Formatting.PocketViewTags; PocketView pocketView = PocketViewTags.span(img[src:"https://www.baidu.com/img/flexible/logo/pc/result.png",style:"height:1em"],HTML(" "), a[href:@"https://www.baidu.com"](i("百度"))); pocketView.Display(); //display(pocketView); ``` 解析上面的代码: + 调用span方法:传递三个参数,img方法结果、HTML方法结果、a方法结果; + img方法是通过一个索引器调用的,该索引器传递了几个命名参数,src和style; + HTML方法有一个字符串参数 ` ` 即空格的 html 转义字符; + a方法有另一个索引器参数(href)和一个参数,在本例中是对i方法的调用; 实质:以C#对象的方式,组装了一段 html代码片断 通过将PocketView转换为字符串,您可以看到它产生的实际HTML,该字符串将以纯文本而不是HTML显示 ```csharp //display(pocketView.ToDisplayString()); display(pocketView.ToString()); ``` 由于HTML难以使用静态类型语言进行简洁表示,PocketView采用了动态类型。这使得你可以使用任意索引器名称来指定HTML属性。PocketViewTags上的每个方法都返回一个动态的PocketView。让我们更详细地了解你可以用PocketView实现的功能。 注意:在本节的代码示例中,通过在笔记本中运行`using static Microsoft.DotNet.Interactive.Formatting.PocketViewTags`,你可以直接调用PocketView方法,而无需类名限定。 如上所述,你可以使用方括号限定符来指定HTML属性,小括号填充HTML元素内容: ```csharp //span html片断 PocketView spanElement = span[style:"font-style:italic"]("你好,我带了倾斜样式"); spanElement.Display(); //图片 html片断 PocketView imgElement = img[src:"https://www.baidu.com/img/flexible/logo/pc/result.png",style:"height:1em", title:"百度图片"]; imgElement.Display(); //超级连接 html片断 PocketView linkElement = a[href:@"https://www.baidu.com"](i("百度连接")); linkElement.Display(); ``` 如果你将一个字符串传递给PocketView,它会为你进行HTML编码: ```csharp //sapn本身作为html标签,被当作Html显示;但span里的html样式的内容不被当作html渲染,而是编码后直接显示 PocketView view = span("