[英](ASP.NET JAVASCRIPT and C#) Hide result of javascript calling C# method
我試圖隱藏從我的aspx文件中的javascript代碼調用的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向導為我指出了正確的方向)
在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!";
}
var url = <%= "'" + magic() + "'"%>;
用戶想要查看所有要以javascript運行的內容。 您可以使它看起來不那么明顯,甚至可以進行加密,但是它仍然存在於瀏覽器中。
真正隱藏此內容的唯一方法是在所有服務器端執行此操作。
您將必須為此使用AJAX。
使用jQuery是一種選擇,通過它您可以將magic
變成Page Method,然后使用它 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.