asp.net 静态函数 给 控件 赋值等一系列操作
我想问这个能不能做到....我的原本的想法是创建一个这个对象的实例..然后在静态方法里面调用....好像不成功..如privateGridViewgd;protected...
我想问这个能不能做到....
我的原本的想法是 创建一个这个对象的实例..然后在静态方法里面调用....
好像不成功..如
private GridView gd;
protected void Page_Load(object sender, EventArgs e)
{
p = this;
gd = GridView1;
}
public static string Get()
{
DataTable tb = new DataTable();
tb.Columns.Add(new DataColumn("dd"));
tb.Rows.Add("ssddd");
tb.Rows.Add("1111");
gd.DataSource = tb;
gd.DataBind();
return "";
} 展开
我的原本的想法是 创建一个这个对象的实例..然后在静态方法里面调用....
好像不成功..如
private GridView gd;
protected void Page_Load(object sender, EventArgs e)
{
p = this;
gd = GridView1;
}
public static string Get()
{
DataTable tb = new DataTable();
tb.Columns.Add(new DataColumn("dd"));
tb.Rows.Add("ssddd");
tb.Rows.Add("1111");
gd.DataSource = tb;
gd.DataBind();
return "";
} 展开
3个回答
展开全部
private GridView gd; 也需要是静态变量
追问
打漏了,gd是静态的,如果不是静态变量,静态方法不能访问,编译器就直接报错了。
我原来是这样想的
Get是 [WebMethod]方法的,这个方法是前台ajax访问的...我那时候想,前台发送ajax请求,然后我这个静态方法改变gridview的值...
然后现在做了 发现不可以的,
这个是为什么?
难道是asp.net的前台后台已经断开连接,不能修改服务器控件的值?
追答
ajax是不会把你在后台更新的静态控件刷新到前台去的,这个方法只会返回return的值,控件不能刷新,可以用asp:UpdatePanel这种方式
展开全部
gd = GridView1;
应该改成
GridView1 = gb;
GridView1.DataBind();
这个吧.
应该改成
GridView1 = gb;
GridView1.DataBind();
这个吧.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Page_Load()里面直接调用Get()方法,其他的都去掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询