我写了这么一段代码
[Ajax.AjaxMethod]
public string GetBlogCategory()
{
string s;
string t = Session["blogid"].ToString();
Blog temp = new Blog(Convert.ToInt32(t));
GridView gv = new GridView();
DataSet ds = temp.GetBlogCategories();
gv.DataSource = ds.Tables[0];
gv.DataBind();
System.Text.StringBuilder sb = new System.Text.StringBuilder();
System.IO.StringWriter sw = new System.IO.StringWriter(sb);
System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter(sw);
gv.RenderControl(htw);
s = sb.ToString();
return s;
}
发现无论如何,浏览器里显示的都是null..
如果把string t = Session["blogid"].ToString();
改成:string t = "5";
那么客户端就能正常显示了...不知道什么原因?
我在pageload里面用Response.Write把这个函数的返回值直接输出的话完全正常的,不是null....
如果我这样写的话客户端能正常显示rsdag
[Ajax.AjaxMethod]
public string GetBlogCategory()
{
return "rsdag";
}
但是如果改成:
[Ajax.AjaxMethod]
public string GetBlogCategory()
{
return Session["blogid"].ToString();
}
就只能显示null了,当然了,这个session值我初始化过的...
我通过另外的方法解决了传值进去的问题,但是感觉很不好...
就是在页面上放一个html的textbox然后设置runat="server",在pageload的时候把blogid的值放进去
然后通过js代码从这个文本框里取值再传给这个函数就正常了.....
希望有高人能帮我看看应该怎么弄..
就是希望这个函数能使用 http://xxxx/xxx.aspx?blogid=5 ; 这里面的这个5
我用Session死活就是不行....真郁闷