PDA

View Full Version : سوال: کمک در رابطه با نحوه فراخوانی تابع سی شارپ داخل کدهای جاوا اسکریپت در Asp.net



hadi88
دوشنبه 02 مهر 1397, 22:27 عصر
سلام
تابع زیر که با سی شارپ در Asp.net نوشته شده می خوام داخل تابع جاوا اسکریپت فراخوانی کنم، آیا امکانپذیر است. ممنون میشم کمکم کنید.
public void ProcessRSSItem(string rssURL)
{
System.Net.WebRequest myRequest = System.Net.WebRequest.Create(rssURL);
System.Net.WebResponse myResponse = myRequest.GetResponse();
System.IO.Stream rssStream = myResponse.GetResponseStream();
System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument();
rssDoc.Load(rssStream);
System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item");
string title = "";
string link = "";
for (int i = 0; i < rssItems.Count; i++)
{
System.Xml.XmlNode rssDetail;
rssDetail = rssItems.Item(i).SelectSingleNode("title");
if (rssDetail != null)
{
title = rssDetail.InnerText;
}
else
{
title = "";
}
rssDetail = rssItems.Item(i).SelectSingleNode("link");
if (rssDetail != null)
{
link = rssDetail.InnerText;
}
else
{
link = "";
}
Response.Write("<li style=list-style-type:none><a href='show.aspx?url=" + link + "' target='new'>" + title + "</a></li>");
}
}




تابع فوق رو میخوام داخل تابع زیر که با JAVASCRIPT نوشته شده فراخوانی کنم.
function zabet(n) {
switch (n) {
case '1':
$("#top1").niceScroll().show();
$("#top2").getNiceScroll().hide();
$("#top3").getNiceScroll().hide();
item = document.getElementById(1);
item.style.display = "inline";
item = document.getElementById(2);
item.style.display = "none";
item = document.getElementById(3);
item.style.display = "none";
//جای که باید تابع فراخوانی بشه//
break;
}
}

ghossein
شنبه 07 مهر 1397, 16:19 عصر
اگر تابع رو داخل صفحه نوشتی باید به اینصورت تبدیلش کنی:


[WebMethod]
public static void ProcessRSSItem(string rssURL)
{
}


نحوه فراخوانی تابع از جاوا اسکریپت:


var rssURL = "";
var data = JSON.stringify({
"rssURL": rssURL
});


var dataSourceurl = window.location.protocol + "//" + window.location.host +
"/Page.aspx/ProcessRSSItem";


$.ajax({
type: "POST",
url: dataSourceurl,
data: data,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {


},
beforeSend: function () {


},
error: function () {
}
});

hadi88
شنبه 07 مهر 1397, 21:37 عصر
ممنون ولی خطای زیر رو میده
An object reference is required for the non-static field, method, or property 'System.Web.UI.Page.Response.get

ghossein
شنبه 07 مهر 1397, 23:00 عصر
خط 32 تابع ProcessRSSItem رو پاک کن و اینرو بنویس :


HttpContext.Current.Response.Write("<li style=list-style-type:none><a href='show.aspx?url=" + link + "' target='new'>" + title + "</a></li>");

hadi88
دوشنبه 09 مهر 1397, 22:07 عصر
منظور شما از صفحه رو متوجه نشدم!

ghossein
سه شنبه 10 مهر 1397, 22:52 عصر
تابع ProcessRSSItem کجا قرار داره داخل codebehind صفحه هست یا داخل یه وب سرویس