Html代码语法错误 -

时间:2016-02-03 20:22:58

标签: html vb.net

我的HTML代码包含语法错误。

CompanyName是可变的。

对此错误有任何想法吗?

enter image description here

4 个答案:

答案 0 :(得分:2)

你的字符串缺少引号。

而不是:

.HtmlBody = <html>...</html>

这样做:

.HtmlBody = "<html>...</html>"

原始HTML本身并不是VB的一部分。它只是一个字符串。字符串需要在VB中用双引号括起来。

一旦这样做,您可以使用&运算符将变量连接到该字符串中:

.HtmlBody = "<html>..." & someVariable & "...</html>"

答案 1 :(得分:2)

为此,您必须以正确的方式格式化HTML字符串,这意味着使用正确的引用和换行符。

.htmlbody = _
"<html>" & Environment.NewLine & _
"    <body>" & Environment.NewLine & _
"        <table width=""700"" border=""1"" align=""left"" cellspacing=""0"" cellpadding=""0"">" & Environment.NewLine & _
"            <tr>" & Environment.NewLine & _
"                <td width=""700"" bgcolor=""Red"" style=""text-align:justify"" valign=""center"">" & Environment.NewLine & _
"                    Dear, " & CompanyName & "<br></br>" & Environment.NewLine & _
"                </td>" & Environment.NewLine & _
"            </tr>" & Environment.NewLine & _
"        </table>" & Environment.NewLine & _
"    </body>" & Environment.NewLine & _
"</html>"

修改

如果你真的不想使用正确的引用,这可能就像你想达到的目标一样接近。

  1. 在解决方案资源管理器中右键单击您的项目,然后按Properties(图1)。

  2. 转到Resources标签,按下拉菜单,然后选择Strings(图2)。

  3. 创建一个新字符串,根据您的选择命名,然后将HTML代码粘贴到Value字段中。插入文本[COMPANY]或类似的地方,以显示公司名称(图3)。

  4. 返回到代码中,当您要使用HTML时,请在My.Resources中引用字符串的名称。

    然后,您只需在该字符串上调用.Replace(),将第一个参数设置为您在HTML代码中设置的公司名称,将第二个参数设置为CompanyName变量。

    .htmlbody = My.Resources.HTML.Replace("[COMPANY]", CompanyName)
    
  5. 希望这有帮助!

    图。 1

    Project Properties

    图。 2

    String resources

    图。 3

    HTML String resource

答案 2 :(得分:0)

如果您想在网页上显示特殊字符,请编写 HTML实体,如&符号(&amp;),大于/小于符号(&lt;,&gt;)或任何其他特殊字符。< / p>

以下是所有HTML实体的链接。 https://dev.w3.org/html5/html-author/charref

<html>
</head>
<body>
 <table>
    <tr>
        <td> &amp; Campny Name &amp; </td>
    </tr>
 </body>
</html>

答案 3 :(得分:0)

您使用XML literal语法来定义HTML。您可以使用<%= varName %>语法embed expressions进入XML文字,因此您的代码应如下所示:

.htmlbody =
    <html>
        <body>
            <table ...>
                <tr>
                    <td ...>
                        Dear <%= CompanyName %> <br/>
                    </td>
                </tr>
            </table>
        </body>
    </html>.ToString()

XML文字定义XElement,除非您包含XML声明(<?xml version="1.0"?>),在这种情况下它将是XDocumentToString()调用将打印XML,尽管有overload允许您覆盖它。