fahmaneh
سه شنبه 01 بهمن 1392, 23:28 عصر
سلام
من مطالب زیادی در مورد لود کردن usercontrol با ajax پیدا کردم حتی تو همین سایت هم مطالبی دیدم . ولی هیچ جا به طور یک پارچه چیزی ندیدم یا اینکه یک مطالبش واسم گنگ بود. مطالبی که فهمیدم اینهاست:
فراخوانی ajax:
$.ajax({
url: "ajaxPage.aspx",
type: "get",
data: "m=ok",
statusCode: {
404: function () {
alert("خطا");
}
},
success: function (data) {
alert("ok");
$("#Pnl_center_Report").append(data.d);
},
error: function () {
alert("خطا1");
}
});
});
نوشتن کلاسی برای رندر usercontrol:
public partial class ajaxPage : System.Web.UI.Page,IHttpHandler
{
public static string loadUserControl()
{
using (Page page = new Page())
{
UserControl usercontrol = (UserControl)page.LoadControl("login/singin.ascx");
page.Controls.Add(usercontrol);
using (StringWriter writer = new StringWriter())
{
page.Controls.Add(usercontrol);
HttpContext.Current.Server.Execute(page, writer, false);
return cleanhtml(writer.ToString());
}
}
واضافه کردن تگ Httphandler در web.config:
<httpHandlers>
<add verb="*" path="*.ascx" type="[NAMESPACE].ajaxPage, [ASSEMBLY]"/>
</httpHandlers>
من اینا رو پیدا کردم ولی خیلی نمی فهمم باید چی کار کنم.سولایی که دارم:
1-در اینجادر url ایجکس چی باید بنویسیم؟آدرس کلاس یا نه صفحه ای جدا باید ایجاد کنیم؟یه جا دیدم به صورت زیر نوشته شده بود منظور چیه؟
url: "Product.aspx/LoadUserControl",
2-منظور از namespace و assembly در تگ httphandler چی هست؟من به صورت دستی یه namespace به بالای کلاسم اضافه کردم.
3-منظور از data.d چیه؟
4-مگر در ajax نباید یه چیزی responce بشه یا به صورت html به نمایش در بیاد ولی ما در کلاس فقط return داریم؟
اگر یه نفر لطف کنه مرحله به مرحله بگه باید چی کار کنیم ممنون میشم .
اگر لینک یا منبعی برای آموزش هست بگید ممنون.
من مطالب زیادی در مورد لود کردن usercontrol با ajax پیدا کردم حتی تو همین سایت هم مطالبی دیدم . ولی هیچ جا به طور یک پارچه چیزی ندیدم یا اینکه یک مطالبش واسم گنگ بود. مطالبی که فهمیدم اینهاست:
فراخوانی ajax:
$.ajax({
url: "ajaxPage.aspx",
type: "get",
data: "m=ok",
statusCode: {
404: function () {
alert("خطا");
}
},
success: function (data) {
alert("ok");
$("#Pnl_center_Report").append(data.d);
},
error: function () {
alert("خطا1");
}
});
});
نوشتن کلاسی برای رندر usercontrol:
public partial class ajaxPage : System.Web.UI.Page,IHttpHandler
{
public static string loadUserControl()
{
using (Page page = new Page())
{
UserControl usercontrol = (UserControl)page.LoadControl("login/singin.ascx");
page.Controls.Add(usercontrol);
using (StringWriter writer = new StringWriter())
{
page.Controls.Add(usercontrol);
HttpContext.Current.Server.Execute(page, writer, false);
return cleanhtml(writer.ToString());
}
}
واضافه کردن تگ Httphandler در web.config:
<httpHandlers>
<add verb="*" path="*.ascx" type="[NAMESPACE].ajaxPage, [ASSEMBLY]"/>
</httpHandlers>
من اینا رو پیدا کردم ولی خیلی نمی فهمم باید چی کار کنم.سولایی که دارم:
1-در اینجادر url ایجکس چی باید بنویسیم؟آدرس کلاس یا نه صفحه ای جدا باید ایجاد کنیم؟یه جا دیدم به صورت زیر نوشته شده بود منظور چیه؟
url: "Product.aspx/LoadUserControl",
2-منظور از namespace و assembly در تگ httphandler چی هست؟من به صورت دستی یه namespace به بالای کلاسم اضافه کردم.
3-منظور از data.d چیه؟
4-مگر در ajax نباید یه چیزی responce بشه یا به صورت html به نمایش در بیاد ولی ما در کلاس فقط return داریم؟
اگر یه نفر لطف کنه مرحله به مرحله بگه باید چی کار کنیم ممنون میشم .
اگر لینک یا منبعی برای آموزش هست بگید ممنون.