(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!";
    }

(ASP.隐藏JAVASCRIPT调用c#方法的结果

您必须使用AJAX。

使用jQuery是一种选择,这样你可以把magic变成页面方法,然后使用它

用户可以看到你想要作为javascript运行的所有内容。你可以让它看起来不那么明显,甚至可以加密它,但它仍然存在于浏览器中。

真正隐藏这个的唯一方法是在服务器端执行。

var url = <%= "'" + magic() + "'"%>;