1

簡単なテストとしてこれを試しました:

@functions {
 private MvcHtmlString helloWorld()
 {
    return Html.EditorFor(m => m.Work.Description);
 }
}
<script type="text/javascript">console.log(@helloWorld().ToString());</script>

ただし、表示される生成されたhtmlは次の形式です

&lt;input class=&quot;text-box single-line&quot; id=&quot;Work_Description&quot;
name=&quot;Work.Description&quot; type=&quot;text&quot; value=&quot;&quot; /&gt;

次の形式の文字列を返す方法

<input class="test-box single-line" id="Work_Description" name="Work.Description"
type="text" value="" />
4

2 に答える 2

1

を使用し@Html.Rawます。helloWorld().ToString() に危険なコードが含まれている場合、セキュリティ上の問題になる可能性があることに注意してください。

<script type="text/javascript">console.log(@Html.Raw(helloWorld().ToString()));</script>
于 2012-06-21T18:48:40.150 に答える
0

ケビンは正しいです。プロパティのモデルの [AllowHtml] 属性と、クロスサイト攻撃に AntiXSSLibrary を使用するもう 1 つの点です。素晴らしいビデオがここにあります: http://www.pluralsight-training.net/microsoft/players/PSODPlayer.aspx?author=scott-allen&name=mvc3-building-security&mode=live&clip=0&course=aspdotnet-mvc3-intro

于 2012-06-21T19:11:23.010 に答える