アクセスサーバーのタグの内部にJavascript MVCプロジェクト
-
18-09-2019 - |
質問
利用したいサーバーでタグ内の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);
}
所属していません StackOverflow