PDA

View Full Version : سوال: دریافت مقادیر jquery ajax



mahdioo12194
پنج شنبه 28 شهریور 1392, 14:37 عصر
سلام یه سوالی مدت هاست ذهن منو مشغول کرده من می خوام یه سری داده رو بفرستم به صفحه مورد نظر

بعد در صفحه مورد نظر اون قادیر رو بگیرم؟!!



$.ajax({

data: "{'name': '" + a + "','id':'" + b + "','price':'" + c + "'}",



type: "POST",

url: "shoppingcard.aspx",

dataType: "json",

contentType: "application/json; charset=utf-8",

error: ShowError,
success: function (msg) {



}




});

fakhravari
پنج شنبه 28 شهریور 1392, 14:49 عصر
ارسال که یک query string اما $.ajax میتونی درخواستی بفرستی و بدون رفرش جواب اونو بگیری.

mahdioo12194
پنج شنبه 28 شهریور 1392, 15:05 عصر
ارسال که یک query string اما $.ajax میتونی درخواستی بفرستی و بدون رفرش جواب اونو بگیری.

راستیتش من نفهمیدم من می تونم در خواست بفرستم و جوابشو بگیرم ولی می خوام در صفحه مقصد پارامترهارو بگیرم

از request.quertstring یا request.param استفاده کردم نشد!!

fakhravari
پنج شنبه 28 شهریور 1392, 16:25 عصر
روش post
Request.Form["Name"];
روش get
Request.QueryString["Name"];

mahdioo12194
پنج شنبه 28 شهریور 1392, 16:36 عصر
روش post
Request.Form["Name"];
روش get
Request.QueryString["Name"];

نوشتم ولی نشد در page load باید بنویسم دیگه !! اینا رو نوشتم نمیشه اگه یه نمونه کامل با سورس دارید بزارید من هر کار می کنم ارور میده!!!

mahdioo12194
پنج شنبه 28 شهریور 1392, 16:49 عصر
اینجوری نوشتم نشد!!




$.post("shoppingcard.aspx", { "name": a });

protected void Page_Load(object sender, EventArgs e)
{


Label8.Text= Request.Form["name"].ToString();
}

fakhravari
پنج شنبه 28 شهریور 1392, 17:41 عصر
به صفحه جاری داری درخواست میزنی؟

mahdioo12194
پنج شنبه 28 شهریور 1392, 17:48 عصر
به صفحه جاری داری درخواست میزنی؟

نه اون page load مربوط به shoppingcard یعنی مقصد است اون jquery post هم تو صفحه default است !!!!

fakhravari
پنج شنبه 28 شهریور 1392, 18:42 عصر
1.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="1.aspx.cs" Inherits="Ajax_1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="jquery.min.js" type="text/javascript"></script>
<script>


var posting = $.post("2.aspx?id=5");
posting.done(function (data) {
var content =
$("#result").text(data);
});

</script>
</head>
<body>
<form id="form1" runat="server">
<div id="result">
</div>
</form>
</body>
</html>


2.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="2.aspx.cs" Inherits="Ajax_2" %>

قسمت کد
using System;

public partial class Ajax_2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
int id = int.Parse(Request.QueryString["id"].ToString());

Response.Clear();
if (id > 0)
{
Response.Write("> بزرگتر از 0 ");
}
else
{
Response.Write("کوچک تر از 0 < ");
}
}
}

mahdioo12194
پنج شنبه 28 شهریور 1392, 19:24 عصر
روی int id = int.Parse(Request.QueryString["id"].ToString());

ارور داد



Object reference not set to an instance of an object.

fakhravari
پنج شنبه 28 شهریور 1392, 20:46 عصر
شما 1.aspx باز میکنید باید خروجی بده
> بزرگتر از 0

اطلاعات از 1.aspx به 2.aspx میره.

mahdioo12194
پنج شنبه 28 شهریور 1392, 20:58 عصر
شما 1.aspx باز میکنید باید خروجی بده
> بزرگتر از 0

اطلاعات از 1.aspx به 2.aspx میره.

ارور میده یعنی وقتی میرم به 2.aspx اون اروری که نوشتم میده شما خودت یه امتحان بکن اگه واقعا جواب داد سمپلشو بزار چون واسه من که ارور می ده؟!!!

fakhravari
پنج شنبه 28 شهریور 1392, 21:14 عصر
:اشتباه: صبر کن تا برات بسازم

mahdioo12194
پنج شنبه 28 شهریور 1392, 23:12 عصر
فقط دوتا مشکل دارم اولا که من همینجوری استفاده می کنم فقط نتایج رو تو دیو result نشون میده اما کل html اون صفحه (صفحه مقصد) رو هم کنارش میاره !! قابل ذکر است که از masterpage استفاده شده

و داخله contentplaceholder است!!

دوما من اصولا همچین کاری رو نمی خوام انجام بدم !! شما فرض کن




<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="2.aspx">page 2</asp:HyperLink>


یعنی با querystring نفرست همون که با jquery post فرستادم حالا نتیجشو تو همون صفحه 1 نشون نده یه جورایی اون تو صفحه 2 ذخیره شه هر وقت صفحه 2 رو زدم حالا اون مقدار که post کرده بودم

قابل دسترس و استفاده باشه امیدوارم منظورمو رسونده باشم!!!1

fakhravari
پنج شنبه 28 شهریور 1392, 23:40 عصر
برای اینکه اطلاعات html نیاد باید از یک هندلر استفاده کنی..ashx
حالت ذخیره نداریم.
یا ارسال با query string یا ذخیره در سشن یا کوکی و......

mahdioo12194
پنج شنبه 28 شهریور 1392, 23:50 عصر
برای اینکه اطلاعات html نیاد باید از یک هندلر استفاده کنی..ashx


چرا تو سمپل شما درست کار می کنه ولی در برنامه من درست کار نمی کنه شما از هندلر استفاده نکردید؟!!!:متعجب:

fakhravari
جمعه 29 شهریور 1392, 00:04 صبح
2.aspx فاقد کد html
شما از یک .ashx استفاده کنید.
عجله نکنید و برسی کنید.

mahdioo12194
جمعه 29 شهریور 1392, 00:12 صبح
را ه دیگه نداره؟ من از هنلدر ها تا حالا استفاده نکردم ! جه جور باید استفاده کنم؟!!:قلب:

fakhravari
جمعه 29 شهریور 1392, 11:18 صبح
اینم برای تو برای اخرین پستم که میخوام برگردم از مرخصی سربازی شیراز
item add
یک Handler.ashx
بعد به این صورت است
<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;

public class Handler : IHttpHandler {

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}

public bool IsReusable {
get {
return false;
}
}

}
به این صورت تغیر بده
<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;

public class Handler : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
int id = int.Parse(context.Request.QueryString["id"].ToString());
context.Response.Clear();
if (id > 0)
{
context.Response.Write("> بزرگتر از 0 ");
}
else
{
context.Response.Write("کوچک تر از 0 < ");
}
}

public bool IsReusable
{
get
{
return false;
}
}

}
و
<script>
var posting = $.post("Handler.ashx?id=5");
posting.done(function (data) {
var content =
$("#result").text(data);
});
</script>