ASP.NET客户端将单个字符串值(在代码中定义)传递给服务器的绝对最简单的方法是什么?

时间:2010-04-30 22:04:04

标签: asp.net javascript string forms webforms

我只需要客户端JavaScript就能够将字符串值发送到ASP.NET服务器应用程序。这个过程的共同意见是什么?

6 个答案:

答案 0 :(得分:3)

想到了一些想法:

  1. 网址本身。这要求服务器能够以简单的方式解析请求以获取数据。
  2. 查询字符串。附加到查询字符串可能是第二个最简单的想法。
  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;

这种方法也可能赢得代码高尔夫比赛。 : - )