关于自定义控件的问题100分求解 在线等

hongweiboy 2008-06-04 02:29:14
我做了一个a.ascx自定义用户控件 加了个文本框和按钮 点按钮弹出一个对话框 选择东西 用的是AJAX 我在网页里面使用了多个a.ascx 控件 为什么每次都是设定的其中一个值呢?我想设定我点按钮那个实例的
代码如下
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ZQWebRefControl.ascx.cs" Inherits="WebLib.ZQWebRefControl" %>
<%@ Register assembly="DevExpress.Web.ASPxEditors.v7.3, Version=7.3.8.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1" namespace="DevExpress.Web.ASPxEditors" tagprefix="dxe" %>
<%@ Register assembly="DevExpress.Web.v7.3, Version=7.3.8.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1" namespace="DevExpress.Web.ASPxRoundPanel" tagprefix="dxrp" %>
<%@ Register assembly="DevExpress.Web.ASPxGridView.v7.3, Version=7.3.8.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1" namespace="DevExpress.Web.ASPxGridView" tagprefix="dxwgv" %>
<%@ Register assembly="DevExpress.Web.v7.3, Version=7.3.8.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1" namespace="DevExpress.Web.ASPxPopupControl" tagprefix="dxpc" %>
<%@ Register assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" namespace="System.Web.UI" tagprefix="cc1" %>
<script language="javascript">
function ShowPopCtl()
{
popCtl.Show();
}
</script>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<dxe:ASPxLabel ID="lb" runat="server" Text="ASPxLabel"
ClientInstanceName="refLabel"></dxe:ASPxLabel><dxe:ASPxButtonEdit ID="tbx"
runat="server" ClientInstanceName="refTbx">
<Buttons>
<dxe:EditButton>
</dxe:EditButton>
</Buttons>
<ClientSideEvents ButtonClick="function(s, e) {
popCtl.Show();
}" Init="function(s, e) {
refTbx.Top = refLabel.Top;
}" />
</dxe:ASPxButtonEdit>
<dxpc:ASPxPopupControl
ID="ASPxPopupControl1" runat="server"
AllowDragging="True" AllowResize="True" ClientInstanceName="popCtl"
CloseAction="CloseButton" Modal="True" ShowFooter="True"
ResizingMode="Postponed">
<FooterTemplate>
<dxe:ASPxButton ID="ASPxButton1" runat="server" onclick="ASPxButton1_Click"
Text="确定">
<ClientSideEvents Click="function(s, e) {
popCtl.Hide();
}" />
</dxe:ASPxButton>
</FooterTemplate>
<FooterStyle HorizontalAlign="Right" />
<Controls>
<dxwgv:ASPxGridView ID="GridView" runat="server" AutoGenerateColumns="False"
KeyFieldName="a">
<Columns>
<dxwgv:GridViewDataTextColumn Caption="hhh" FieldName="a" VisibleIndex="0">
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="xxxx" FieldName="b" VisibleIndex="1">
</dxwgv:GridViewDataTextColumn>
</Columns>
</dxwgv:ASPxGridView>
</Controls>
</dxpc:ASPxPopupControl>

</ContentTemplate>
</asp:UpdatePanel>




...全文
352 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
peace 2009-05-18
  • 打赏
  • 举报
回复
你在一个页面上面用了多个用户控件(a.ascx页面),那么每个用户控件的clientInstanseName都叫做popCtl,而你的页面在调用那个JS方法时,他会只是修改最后的那个popCtl。所以会出现你所说的问题,就是始终只是改变了一个地方。因此解决方案就可以从这方面来考虑.
amandag 2008-06-05
  • 打赏
  • 举报
回复
楼主最好把你的问题放小一点,否则别人很难测试
sxmonsy 2008-06-05
  • 打赏
  • 举报
回复
没看出问题来.
叶子 2008-06-05
  • 打赏
  • 举报
回复
啥问题也没看出来!
Bogard 2008-06-05
  • 打赏
  • 举报
回复
popCtl.Show(); 在哪?

很可能是CleintID的问题。
cpp2017 2008-06-04
  • 打赏
  • 举报
回复
从这个代码看不出来,既然每次都是一个值,可能是你那个返回函数的id 用了相同的一个.

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧