|
.net 求救 (Server.MapPath)
[复制链接]
|
|

楼主 |
发表于 11-8-2006 07:52 AM
|
显示全部楼层
原帖由 goatstudio 于 11-8-2006 12:42 AM 发表
你的 paging code 呢? 我的意思是说当 page index change 的时候的 code.
huh,它不是auto帮我bind好了的吗?我在page index change的时候并没有写code。。我是不是应该把DGUserList.PageIndexChanged 放在DGUserList_SelectedIndexChanged里?还是在page_load里? |
|
|
|
|
|
|
|
发表于 11-8-2006 09:05 AM
|
显示全部楼层
原帖由 shinelynn 于 11-8-2006 07:52 AM 发表
huh,它不是auto帮我bind好了的吗?我在page index change的时候并没有写code。。我是不是应该把DGUserList.PageIndexChanged 放在DGUserList_SelectedIndexChanged里?还是在page_load里?
你得自行写 code... 我通常会放在 PageIndexChanged 的 event 里.
例子:
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
this.DataGrid1.CurrentPageIndex = e.NewPageIndex;
this.DataGrid1.DataSource = dv; // 你的 dataview
this.DataGrid1.DataBind (); \
} |
|
|
|
|
|
|
|

楼主 |
发表于 11-8-2006 09:07 AM
|
显示全部楼层
谢谢提醒关于pageindexchanged的event,要不然我根本不知道有这东西。。不好意思我没读关于.net的书,我是边做边学的。不是懒啊,是因为还要支援用户又要写程序。。可是觉得c#.net 也很好学的,天天新发现。
好,话说回来,我读了些tutorial,把OnPageIndexChanged="PageIndexChanged" 加在html code的<asp:datagrid>里,然后在.aspx.cs写这
public void PageIndexChanged(Object sender, DataGridPageChangedEventArgs
e)
{
DGUserList.CurrentPageIndex = e.NewPageIndex;
}
可是很奇怪,我必须click两次“>”,我的page才会跑去另一个page,“<”也是一样,必须click两次才可以走回前一页,怎么会这样。。。。。。 |
|
|
|
|
|
|
|

楼主 |
发表于 11-8-2006 09:16 AM
|
显示全部楼层
原帖由 goatstudio 于 11-8-2006 09:05 AM 发表
你得自行写 code... 我通常会放在 PageIndexChanged 的 event 里.
例子:
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
...
datagrid的datasource必须从新bind过的吗?假如这样的话,我又有点不明白了。我的dataview已经是在datagrid load时bind了的,要是我从新再bind一次,它不是跑回第一页了吗? |
|
|
|
|
|
|
|
发表于 11-8-2006 09:21 AM
|
显示全部楼层
原帖由 shinelynn 于 11-8-2006 09:16 AM 发表
datagrid的datasource必须从新bind过的吗?假如这样的话,我又有点不明白了。我的dataview已经是在datagrid load时bind了的,要是我从新再bind一次,它不是跑回第一页了吗?
正确的做法应该是
1. 第一次 load 的时候 bind, 你可以用 IsPostBack 查到.
2. 每一个特定 event 的时候才 bind, 例如说 PageIndexChanged. |
|
|
|
|
|
|
|

楼主 |
发表于 11-8-2006 09:35 AM
|
显示全部楼层
原帖由 goatstudio 于 11-8-2006 09:21 AM 发表
正确的做法应该是
1. 第一次 load 的时候 bind, 你可以用 IsPostBack 查到.
2. 每一个特定 event 的时候才 bind, 例如说 PageIndexChanged.
说真的,我不知道ispostback是拿来做什么的
public void PageIndexChanged(object sender, DataGridPageChangedEventArgs
e)
{
DGUserList.CurrentPageIndex = e.NewPageIndex;
Create_UserList();
}
可以了,我bind多一次,就可以了。。我想想,应该明白为什么要这样了。。datagrid by default的pageindex是0,所以data grid第一次load的时候是第一页的。假如有pageindexchanged的话,我们就把DGUserList.CurrentPageIndex set去新的一页。要是data grid在load多一次的话,它就会display data grid的current page(新页)。。
可是我很奇怪要是我们没从新bind它,为什么click了next两次之后我还是可以去到第二页。。 |
|
|
|
|
|
|
|
发表于 11-8-2006 10:12 AM
|
显示全部楼层
原帖由 shinelynn 于 11-8-2006 09:35 AM 发表
说真的,我不知道ispostback是拿来做什么的
public void PageIndexChanged(object sender, DataGridPageChangedEventArgs
e)
{
DGUserList.CurrentPageIndex = e.NewPageIndex;
Create_UserLi ...
IsPostBack 是用来辨别此 page 是否重新被 post, 任何一个 page 里的 event 都会导致 page 被 post back.
你这样做的话虽然没问题... 但会导致 data 被重灌两次... 建议你在 Page_Load 那里这样写:
if (!IsPostBack) Create_UserList(); |
|
|
|
|
|
|
|

楼主 |
发表于 15-8-2006 11:28 AM
|
显示全部楼层
原帖由 goatstudio 于 11-8-2006 10:12 AM 发表
IsPostBack 是用来辨别此 page 是否重新被 post, 任何一个 page 里的 event 都会导致 page 被 post back.
你这样做的话虽然没问题... 但会导致 data 被重灌两次... 建议你在 Page_Load 那里这样写:
if ...
放在postback里面了,谢谢。。 |
|
|
|
|
|
|
|

楼主 |
发表于 15-8-2006 11:29 AM
|
显示全部楼层
rbDisp1是radiobutton来的。我想在用户select它时就enable text field txtRTV;
在它uncheck时就disable掉txtRTV,是不是应该写在OnCheckedChanged呢?可是不知道为什么行不通。。
private void rbDisp1_CheckedChanged(object sender, System.EventArgs e)
{
if (rbDisp1.Checked == true)
{
txtRTV.Enabled = true;
}
else
{
txtRTV.Enabled = false;
}
} |
|
|
|
|
|
|
|
发表于 15-8-2006 02:27 PM
|
显示全部楼层
原帖由 shinelynn 于 15-8-2006 11:29 AM 发表
rbDisp1是radiobutton来的。我想在用户select它时就enable text field txtRTV;
在它uncheck时就disable掉txtRTV,是不是应该写在OnCheckedChanged呢?可是不知道为什么行不通。。
private void rbDisp1_Chec ...
建议你用 javascript 来达到这目的. |
|
|
|
|
|
|
|

楼主 |
发表于 15-8-2006 04:47 PM
|
显示全部楼层
原帖由 goatstudio 于 15-8-2006 02:27 PM 发表
建议你用 javascript 来达到这目的.
用javascript,可以了,谢谢。。可是我奇怪为什么它的oncheckedchanged不能用。。 |
|
|
|
|
|
|
|

楼主 |
发表于 21-8-2006 12:52 PM
|
显示全部楼层
<a href="javascript:window.print()">Print this page</a>
window.print()只能用在IE5,请问有谁知道IE6的话怎么写?要IE5和IE6都可以用的。。 |
|
|
|
|
|
|
|
发表于 21-8-2006 07:17 PM
|
显示全部楼层
原帖由 shinelynn 于 21-8-2006 12:52 PM 发表
<a href="javascript:window.print()">Print this page</a>
window.print()只能用在IE5,请问有谁知道IE6的话怎么写?要IE5和IE6都可以用的。。
IE5/6 一样可以用, 你遇到了什么问题呢? 有没有 error message? |
|
|
|
|
|
|
|

楼主 |
发表于 22-8-2006 08:11 AM
|
显示全部楼层
原帖由 goatstudio 于 21-8-2006 07:17 PM 发表
IE5/6 一样可以用, 你遇到了什么问题呢? 有没有 error message?
我在网上看到也有好些人在IE6遇到问题,可是没有具体说明是什么。。我的print还是可以用,可是它会先出一个run time error的message box。我click了no之后,还是可以继续printing的process。我已经在别的pc试了,IE5没问题。。
 |
|
|
|
|
|
|
|
发表于 22-8-2006 08:54 AM
|
显示全部楼层
这问题有点奇怪...
因为我用着的是 IE6... 没问题.
有没有在别的电脑试看 IE6 + 别的 printer?
另外, 总觉得好象是别的 code 引起的, 也许你把整个 code 放上来看看. |
|
|
|
|
|
|
|

楼主 |
发表于 22-8-2006 02:25 PM
|
显示全部楼层
原帖由 goatstudio 于 22-8-2006 08:54 AM 发表
这问题有点奇怪...
因为我用着的是 IE6... 没问题.
有没有在别的电脑试看 IE6 + 别的 printer?
另外, 总觉得好象是别的 code 引起的, 也许你把整个 code 放上来看看.
噢,我试了别架电脑的IE6,没问题,version是6.0.2900.2180,WindowsXP。我的是6.0.2800.1106,Windows98。(自己都不敢说出来我这做IT的还在用98)
1. IE 6.0.2900.2180, WinXP - 没问题
2. IE 6.0.2800.1106, Win98 - 有问题
3. IE 5.00.2919.6307, Win98 - 没问题
忘了说这是asp的不是c#.net,是不是因为这样的关系?
因为coding很长很乱,怕放上来你会晕掉,所以我试试看只是这样:
<html>
<body>
Testing Only
<a href="javascript:window.print()">Print this page</a>
</body>
</html>
结果还是像上面一样。。 |
|
|
|
|
|
|
|
发表于 23-8-2006 02:00 AM
|
显示全部楼层
原帖由 shinelynn 于 22-8-2006 02:25 PM 发表
噢,我试了别架电脑的IE6,没问题,version是6.0.2900.2180,WindowsXP。我的是6.0.2800.1106,Windows98。(自己都不敢说出来我这做IT的还在用98)
1. IE 6.0.2900.2180, WinXP - 没问题
2. IE 6.0.2800.1 ...
我正在想... 会不会 win98 的问题?
还在用着 win98 没什么... 不是每人都有升级的必要, 这是商业上的一贯做法. |
|
|
|
|
|
|
|

楼主 |
发表于 23-8-2006 08:08 AM
|
显示全部楼层
原帖由 goatstudio 于 23-8-2006 02:00 AM 发表
我正在想... 会不会 win98 的问题?
还在用着 win98 没什么... 不是每人都有升级的必要, 这是商业上的一贯做法.
是不是所有win98都是用IE5的?可能是我自己upgrade IE的关系吧。。我本来是IE5的。只好等看用户那边有没有问题了。。谢谢啊。。
知道用win98没什么,问题是全公司上下,采购部,计划部,金融部,每个人都换电脑用xp,新人还有flat的monitor。可是我觉得我电脑还可以啦,假如用户投诉我做工慢,我就说我用的是旧电脑咧,要不然拿你的和我换,呵呵。。 |
|
|
|
|
|
|
|

楼主 |
发表于 24-8-2006 04:48 PM
|
显示全部楼层
=====删掉=====
[ 本帖最后由 shinelynn 于 24-8-2006 05:06 PM 编辑 ] |
|
|
|
|
|
|
|

楼主 |
发表于 24-8-2006 04:55 PM
|
显示全部楼层
哎呀,看到错误了。。啊。。。。不好意思浪费资源。。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|