Я пытаюсь скрыть результат метода C #, который вызывается из моего кода javascript в моем файле aspx. Когда я просматриваю исходный код страницы, я хочу вернуть значение, в настоящее время '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!";
}