首先是MVC,就不能直接Response输出,然后用return Content的方式是可以返回的。如果你需要返回内容加脚本,那么你可以return Content("<div>其他内容</div><Script>alert(111)</Script>");
总之,就是要将<script>输出让浏览器解析。
Response.Write("<script>window.alert('貌似就是这种感觉');</script>");
不对诶
@李梅: return Content("<Script>alert(111)</Script>");
@李梅: 绝对是对滴 测试过滴
public actionresult xxx(){
return Content("<Script>alert(111)</Script>");
}
@流星霜紫: 这个倒是弹出提示框了,但是弹出提示框,点击了确定之后就是一片空白了
@李梅: 因为什么都木有哇 =。=
@流星霜紫: 控制器 和 视图的关系。 控制器 请求 也就是 return View() 请求当年同名的页面 进行跳转。而 Content 并不是跳转到 同名的页面 所以 你通过 Content 输出的东西 相当于 new 这种感觉 重新创建了一个页面 所以 除了 返回脚本哪个new出的页面什么都木有 所以 白花花的
response.write(<script></script>);//可以输出脚本
不对诶
@李梅: 哪里不对了
@骑着蜗牛耍流氓: 没得东西输出
1.
return
JavaScript(
"alert('Hello World')"
);
2.Response.Write("<script type='text/javascript'>parent.location.href = '" + url + "';</script>");//(可以用来实现在iframe中跳转到指定页面.)
不对诶
@李梅: 你用的哪个不对?怎么用的?这个我自己都是这么用的。
这样写 打开了一个空白页面 页面上就显示 alert('Hello World')这句话
@李梅: 你代码粘贴出来我看看。
@晓菜鸟:
return
JavaScript(
"alert('Hello World')"
);就是这一句
@李梅: 那你前端是怎么请求的呢?
js应该写到view中去,为啥要从action返回。。mvc的目的是为了分离数据和表现层。。
重点是前台..你后台返回一个js语句没什么问题的.
但你要在前台把JS语句加入到文档中,就会执行代码.
或者你拼装一个JS对象传到前台,反序列化后,调用对象的方法
不知道你的场景是什么,如果只是想要执行一段js的话上面的回答都是可以的,直接输出js就行了。
如果是想在View中插入一段js的话可以试试这种方法:
controller中: ViewBage.Js="<script>alert(123456)</script>";
View 中: @Html.Raw(@ViewBage.Js);
return new JavaScriptResult("your js");
这样写肯定不对噻