【发布时间】:2012-01-10 20:24:15
【问题描述】:
我正在尝试使用 Visual Studio (2010) 宏将 ASPX 页面中的某些文本替换为文字控件,但似乎控件标记在替换时正在被修改。
我有一个包含以下内容的 ASPX 页面:
<span>Foo</span>
我要替换为:
<span><asp:Literal Text="<%$ Resources:Foo %>" runat="server" /></span>
这是通过突出显示“Foo”文本然后运行宏来替换文本来完成的。但是,在执行宏时,Visual Studio 并没有完全按照输入的方式粘贴文本。
我的宏代码如下所示:
Dim Selection As TextSelection = DTE.ActiveDocument.Selection
Selection.Text = "<asp:Literal Text=""<%$ Resources:Foo %>"" runat=""Server""/>"
但是,当宏执行时,它会插入:
<asp:Literal Text=""<%$ Resources:Foo %>" runat="Server" /> %>"
请注意第一组双引号(尽管其他双引号是正确的),并在末尾添加了额外的%>"。如果替换文本包含任何引号,这似乎会发生。例如,如果我只是尝试将选定的文本替换为<asp:Literal runat=Server"/>,它就可以正常工作。
有谁知道为什么会这样,我该如何解决这个问题?
谢谢。
【问题讨论】:
标签: visual-studio visual-studio-2010 macros replace