1

我在模型中有一个属性

public CodeString {get; set;}

其中包含类似这样的字符串值

<SCRIPT src="http://demo.com/add/091221"> </script><SCRIPT src="http://demo.com/add"> </script>

我想将 CodeString 属性的值添加到视图的正文部分。我看到 CodeString 值将其分配给隐藏字段并提醒隐藏字段。但是脚本没有被添加到头部。我正在尝试按如下方式使用此隐藏字段:

     $(document).ready(function () {
         $('head').append($("#PixelCodeString").val());
});

仍然没有在生成的 html 页面中看到脚本标记。各位大佬这是怎么回事?有任何想法吗?

4

4 回答 4

1

一个问题:您是否将原始值放在那里以避免逃避<?

无论如何,您不需要将代码放在隐藏字段中,也不必将脚本放在<head>标签中:您可以简单地输出属性的内容。例如,如果您使用的是 Razor:

@Html.Raw(Model.CodeString)

附带说明一下,如果我是你,我会使用getScript()jQuery。这样我就可以稍后加载我的所有脚本。为此,您需要将您的属性更改为一个List<>脚本 URL,并为每个 URL 使用 getScript。

于 2013-05-27T13:48:30.490 回答
0

在你的cs页面上

public CodeString {get; set;}
string script="</script>$(document).ready(function () {
         $('head').append($("#CodeString").val()); </script>"

});
Page.ClientScript.RegisterStartupScript(typeof(Page), "Your script", script);
于 2013-05-27T13:49:53.037 回答
0

如果您只是查看源代码,那么您将看不到该部分,因为它是通过客户端代码添加的..(查看源代码只会显示从服务器发送的内容

您可以使用 firebug 查看实时 DOM,您会找到它。

一个简单的测试

<input id="code" value="<script>alert('test');</script>"/>

$('head').append( $('#code').val() );

http://jsfiddle.net/gaby/57AgH/工作正常

于 2013-05-27T13:47:04.770 回答
0
<script type="text/javascript">
$(document).ready(function(){
        var myCar='@ViewBag.Car'; // Here i am trying to access the ViewBag here
        $("#myCarDiv").html(myCar);
});
</script>
<div id="myCarDiv"></div>
于 2013-06-02T11:38:09.517 回答