質問

利用したいサーバーでタグ内のJavascriptの機能:

<%=Model.HtmlProperty%>

過去において保存この値に隠れた入力欄の場合性を含むHTMLく問題などの特殊文字ます。たいと思いる必要性を回避するためにエンコードとデコードのコントローラブルがないようにしなければな特殊文字です。

リックStrahlは カップル ポス この問題は、webフォームプロジェクトが、ちょっとした用事がある場合の優雅なソリューションをMVCます。

更新:ロバート-ハービーの対応は、以下に示唆することをエンコードのhtml.再度、 ないきたいと思い.最終的には、監督-選手コメン注入のhtmlのスクリプト、fckeditorインスタンス.これが完了していることが必要です。私はそうとしていることへのアクセス方法についての価値 <%=Model.HtmlProperty%> 内部にjavascriptを保存せず符号化されたテキストが隠れた入力要素です。

役に立ちましたか?

解決 2

こうした願い-利用のサーバーでタグ内のjavascriptのないようにご注意ください。って保存の文字列の中に隠れた入力要素としてqueen3コメントがうまくいっているまでに時間がかかります。おかげ様々なご意見、ご入力します。

他のヒント

借入からのアクセスをStrahlの後、変更の呼び出し署名エリアをクリックする機能をエンコードのjavascriptの文字列の後に変換するための拡張方法Htmlのクラスは以下のようなものです:

public static string EncodeJsString(this HtmlHelper h, string s)
{
    StringBuilder sb = new StringBuilder();
    sb.Append("\"");
    foreach (char c in s)
    {
        switch (c)
        {
            case '\"':
                sb.Append("\\\"");
                break;
            case '\\':
                sb.Append("\\\\");
                break;
            case '\b':
                sb.Append("\\b");
                break;
            case '\f':
                sb.Append("\\f");
                break;
            case '\n':
                sb.Append("\\n");
                break;
            case '\r':
                sb.Append("\\r");
                break;
            case '\t':
                sb.Append("\\t");
                break;
            default:
                int i = (int)c;
                if (i < 32 || i > 127)
                {
                    sb.AppendFormat("\\u{0:X04}", i);
                }
                else
                {
                    sb.Append(c);
                }
                break;
        }
    }
    sb.Append("\"");

    return sb.ToString();
}

るべきでこのように:

<%= Html.EncodeJsString(Model.HtmlProperty) %>

利用HTMLHelperをお書きのスクリプトの..


public static string WriteLightboxScript(this HtmlHelper helper, string galleryName)
        {
            var builder = new TagBuilder("script");
            builder.MergeAttribute("type", "text/javascript");
            builder.SetInnerText("$(function() {$('a[rel=" + galleryName + "]').lightBox();});");
            return builder.ToString(TagRenderMode.Normal);
        }

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top