2

カスタムHTMLコードスニペットをMVCビューに挿入する場合、値の入力を開始すると、リテラル置換の編集が終了します。

私は何かが足りないのですか?

私のリテラルは、プロパティ名を置き換えるために2回使用されます。

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <Header>
        <Title>MVC Field Pair</Title>
        <Shortcut>mvcfieldpair</Shortcut>
        <Description>Inserts an MVC label/input pair</Description> 
        <SnippetTypes>
            <SnippetType>Expansion</SnippetType> 
        </SnippetTypes>
    </Header>
    <Snippet>
        <Declarations>
            <Literal Editable="true">
                <ID>property</ID>
                <ToolTip>Model property</ToolTip>
                <Default>myProperty</Default>
            </Literal>
        </Declarations>
        <Code Language="html">
            <![CDATA[
                <li>
                    <%= Html.LabelFor(m => m$property$) %>
                    <%= Html.TextBoxFor(m => m$property$) %>
                </li>
            $end$]]>
        </Code>
    </Snippet>
</CodeSnippet>
4

1 に答える 1

3

相対的な位置<![CDATA[]]>重要です。スニペットを調整しました:

<CodeSnippet Format="1.1.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <Header>
        <Title>MVC Field Pair</Title>
        <Shortcut>mvcfieldpair</Shortcut>
        <Description>Inserts an MVC label/input pair</Description> 
        <SnippetTypes>
            <SnippetType>Expansion</SnippetType> 
        </SnippetTypes>
    </Header>
    <Snippet>
        <Declarations>
            <Literal>
                <ID>property</ID>
                <ToolTip>Model property</ToolTip>
                <Default>myProperty</Default>
            </Literal>
        </Declarations>
        <Code Language="html"><![CDATA[<li>
    <%= Html.LabelFor(m => m$property$) %>
    <%= Html.TextBoxFor(m => m$property$) %>
</li>$end$]]></Code>
    </Snippet>
</CodeSnippet>
于 2012-05-04T17:47:53.727 に答える