0

このコードを使用して、アクションから文字列を返します。

    public ActionResult Index()
    {

        string List = "";       
        List = "<table><tr><td>Ali</td></tr></table>";
        ViewData["List"] = List;
        return View();

    }

これが私の見解です:

<body>
<%: ViewData["List"] %>
</body>

しかし、代わりに、ページを参照するときにテーブルを作成するために、文字列"<table><tr><td>Ali</td></tr></table>"がそのページに書き込まれていることがわかります。私はfirebugを使用し、そのhtmlコードを確認します。しかし、私はこのようなものを見ました:

&lt;table&gt;&lt;tr&gt;&lt;td&gt;Ali&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

私を助けるためにそこに体はありますか?

よろしくお願いします

4

1 に答える 1

1

これは、HtmlEncodeタグを使用しているためです

に変更<%:します<%=

となります

<body>
<%= ViewData["List"] %>
</body>

また、インジェクションを回避するためにのみ、データをHtmlEncodeすることを忘れないでください。

于 2012-04-17T13:14:38.327 に答える