(ASP.隐藏JAVASCRIPT调用c#方法的结果
本文关键字:方法 结果 调用 ASP 隐藏 JAVASCRIPT | 更新日期: 2023-09-27 18:08:33
我试图隐藏从我的javascript代码在我的aspx文件中调用的c#方法的结果。当我查看页面源时,我想返回值,目前为'HI_MOM!,设置为不可见
我的ASPX:
<html>
<head>
<title>Hide Me</title>
</head>
<body><div id="center"><div id="fig">
<script type="text/javascript">
var url = <%="'"+magic()+"'"%>;
document.write(url);
</script>
</div></div></body>
</html>
我的c#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class TestTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public string magic()
{
return "HI_MOM!";
}
}
运行后源代码:
<html>
<head>
<title>Hide Me</title>
</head>
<body><div id="center"><div id="fig">
<script type="text/javascript">
var url = HI_MOM!;
document.write(url.toString);
</script>
</div></div></body>
</html>
基本上,我想这样做,当我查看页面的源代码时,"var url = HI_MOM!;"行对用户是不可见的,或者以某种方式被屏蔽。
编辑:答案:(感谢@Shadow Wizard为我指出了正确的方向)
在TestTest.aspx:<script type="text/javascript" src="./jquery.js"></script>
。..
jQuery.ajax({
type: 'POST',
url: 'TestTest.aspx/magic',
cache: false,
data: '{}',
contentType: 'application/json; charset=utf-8',
dataType: 'text',
success: function (msg) {
var result = eval('(' + msg + ')');
result = eval('('+result["d"]+')');
//do something with your string =]
}
});
在TestTest.aspx.cs: [WebMethod]
public static string magic()
{
return "HI_MOM!";
}
您必须使用AJAX。
使用jQuery是一种选择,这样你可以把magic
变成页面方法,然后使用它
用户可以看到你想要作为javascript运行的所有内容。你可以让它看起来不那么明显,甚至可以加密它,但它仍然存在于浏览器中。
真正隐藏这个的唯一方法是在服务器端执行。
var url = <%= "'" + magic() + "'"%>;