ali_mnkt
دوشنبه 19 مهر 1389, 23:39 عصر
با سلام
من یک گرید دارم که کلیات یکسری خبر رو نشون می ده من میخوام که با کلیک رو یک دکمه که در هر ردیف اون گرید قرار داره جزئیات اون خبر در textbox های مربوطه نشون داده بشه. برای این کار من از pageMethod ها استفاده کردم به صورت زیر :
<script type="text/javascript">
function NewsDetails(NewsId) {
PageMethods.GetNewsDetails(NewsId, GetNewsDetailsCompleted, OnError);
}
function GetNewsDetailsCompleted(result) {
$get("TextBox1").value = result[0].NewsTitle;
}
function OnError(result) {
alert("Error");
}
</script>
و در code behinde
[WebMethod()]
[System.Web.Script.Services.ScriptMethod()]
public static List<NewsDetailsClass> GetNewsDetails(string NewsId)
{
List<NewsDetailsClass> Details = new List<NewsDetailsClass>();
NewsDetailsClass Ndetails=new NewsDetailsClass();
DataSet ds=new DataSet();
ds = DataLayer.News_News.SelectRow(Convert.ToInt32(News Id));
Ndetails.NewsTitle=ds.Tables[0].Rows[0]["NewsTitle"].ToString();
Ndetails.NewsAbstract=ds.Tables[0].Rows[0]["NewsAbstruct"].ToString();
Ndetails.NewsContent=ds.Tables[0].Rows[0]["NewsBody"].ToString();
Ndetails.NewsCommentEnable=Convert.ToBoolean( ds.Tables[0].Rows[0]["NewsCommentsEnabled"]);
Details.Add(Ndetails);
return Details;
}
خوب در یک page این کدها جواب می دن و مشگلی ندارن اما من می خوام که این کدها رو در یک userControl قرار بدم و اون userControl رو در یک page بذارم اما وقتی کد ها در userControl قرار می گیرن کار نمی کنن و اطلاعات رو در textbox نشون نمی دن کسی میدونه
چرا ؟ آیا page method ها فقط درون page ها کار می کنن ؟
من یک گرید دارم که کلیات یکسری خبر رو نشون می ده من میخوام که با کلیک رو یک دکمه که در هر ردیف اون گرید قرار داره جزئیات اون خبر در textbox های مربوطه نشون داده بشه. برای این کار من از pageMethod ها استفاده کردم به صورت زیر :
<script type="text/javascript">
function NewsDetails(NewsId) {
PageMethods.GetNewsDetails(NewsId, GetNewsDetailsCompleted, OnError);
}
function GetNewsDetailsCompleted(result) {
$get("TextBox1").value = result[0].NewsTitle;
}
function OnError(result) {
alert("Error");
}
</script>
و در code behinde
[WebMethod()]
[System.Web.Script.Services.ScriptMethod()]
public static List<NewsDetailsClass> GetNewsDetails(string NewsId)
{
List<NewsDetailsClass> Details = new List<NewsDetailsClass>();
NewsDetailsClass Ndetails=new NewsDetailsClass();
DataSet ds=new DataSet();
ds = DataLayer.News_News.SelectRow(Convert.ToInt32(News Id));
Ndetails.NewsTitle=ds.Tables[0].Rows[0]["NewsTitle"].ToString();
Ndetails.NewsAbstract=ds.Tables[0].Rows[0]["NewsAbstruct"].ToString();
Ndetails.NewsContent=ds.Tables[0].Rows[0]["NewsBody"].ToString();
Ndetails.NewsCommentEnable=Convert.ToBoolean( ds.Tables[0].Rows[0]["NewsCommentsEnabled"]);
Details.Add(Ndetails);
return Details;
}
خوب در یک page این کدها جواب می دن و مشگلی ندارن اما من می خوام که این کدها رو در یک userControl قرار بدم و اون userControl رو در یک page بذارم اما وقتی کد ها در userControl قرار می گیرن کار نمی کنن و اطلاعات رو در textbox نشون نمی دن کسی میدونه
چرا ؟ آیا page method ها فقط درون page ها کار می کنن ؟