我只需要客户端JavaScript就能够将字符串值发送到ASP.NET服务器应用程序。这个过程的共同意见是什么?
答案 0 :(得分:3)
想到了一些想法:
答案 1 :(得分:1)
为了在页面之间传递变量内容,ASP.NET为我们提供了多种选择。一种选择是使用Request Object的QueryString属性。上网时你应该看到奇怪的互联网地址,如下面的地址。
http://www.localhost.com/Webform1.aspx?firstName=Muse&secondName=VSExtensions
此html地址使用QueryString属性在页面之间传递值。在此地址中,您可以发送3条信息。
Webform.aspx这是您的浏览器将访问的页面。 firstName = Muse你发送一个设置为Muse的firstName变量 secondName = VSExtensions,您发送一个secondName变量,该变量设置为VSExtensions
将此代码放入页面page_load处理程序:
String firstName = Request.QueryString [“firstName”]; String secondName = Request.QueryString [“secondName”];
...问候
取值
答案 2 :(得分:1)
我假设您不想离开当前页面,所以我会说要使用AJAX表单帖子。大多数JavaScript库都有一个简单的方法。
您的回复可以是一个简单的JSON对象。
JavaScriptSerializer ser = new JavaScriptSerializer();
return ser.Serialize(new
{
@success = true,
@message = "some message"
});
答案 3 :(得分:1)
在您的网络表单上添加隐藏的输入,在客户端设置其值,并在回发时检索该值。
答案 4 :(得分:1)
使用jQuery进行所有客户端/服务器通信。
将数据发布到ASP.NET Generic Handler
var url = 'http://whatever.com/YourPage.ashx?data=' + escape("your data string");
$.post(url, {/* or send the data as a JSON object */}, function(response){
// do whatever with the response object
}, 'html'); // I'm assuming a html response here, but it could be anything..
然后在服务器上创建一个Generic Handler类:
public class YourApplicationHandler : IHttpHandler
{
public void ProcessRequest (HttpContext context)
{
string data = Request.QueryString["data"];
// do your magic with the data
}
}
如果您想要更具体的答案,请使用详细信息更新问题
答案 5 :(得分:1)
我会选择:
客户端:
<script type="text/javascript">
function sendString(str){
(new Image).src = "/url.aspx?s=" + escape(str);
}
</script>
Page_Load(C#)中的Server @“/ url.aspx”:
string str = Request.QueryString["s"];
/* do stuff with str... */
// 204 means "NoContent"
Response.StatusCode = 204;
这种方法也可能赢得代码高尔夫比赛。 : - )