我有一个只包含HTML按钮的aspx页面(Sample.aspx)。在aspx页面的.CS文件中,我编写了一个小函数(sample_function),它只返回一个字符串“Hello World”。我试图在用户点击按钮时在警告框中显示该字符串。问题是当我点击按钮时,.aspx页面的整个源代码显示在Alert框中,而不是显示“Hello World”。请帮我解决这个问题。下面是我对Sample.aspx页面的总结代码。
<head>
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function () {
$("#Button1").click(function () {
$.post("Sample.aspx/sample_function",
{
},
function (data, status) {
alert("Data: " + data + "\nStatus: " + status);
});
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div >
<input id="Button1" type="button" value="Click Me" /></div>
</form>
</body>
以下是我的.cs代码的后续版本:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication4
{
public partial class Sample : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public string sample_function()
{
string s1 = "Hellow World";
return s1;
}
}
}
答案 0 :(得分:1)
使用ASP.NET AJAX页面方法,如下所示:
代码隐藏:
[WebMethod]
public static string sample_function()
{
string s1 = "Hellow World";
return s1;
}
注意:ASP.NET AJAX页面方法必须使用
[WebMethod]
属性进行修饰,并且必须是静态的,因此它们无法与页面上的控件交互,因为没有页面实例。
标记:
$(document).ready(function() {
$.ajax({
type: "POST",
url: "Sample.aspx/sample_function",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(result) {
alert(result.d);
}
});
});
答案 1 :(得分:0)
您必须拥有WebMethod。
[WebMethod]
public static string sample_function()
{
string s1 = "Hellow World";
return s1;
}