首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#用户控件与父页面上的控件交互

C#用户控件与父页面上的控件交互
EN

Stack Overflow用户
提问于 2016-02-26 15:48:47
回答 3查看 931关注 0票数 0

我有一个网页表单,其中我有一个标签和一个用户控件。我希望用户控件能够更改标签中文本的值。

如何向用户控件指示要更改的标签?(在这个示例中,我有一个标签-一个用户控件的单个实例,但我需要这两个都有几个)

编辑:用户与用户控件的交互触发外部标签的更新。

EDIT2:添加更多细节。我的用户控件有一个网格视图,当用户向网格添加或编辑一行时,我希望用网格列上的和更新标签中的值。目前,我正在使用代码服务器端,因为更新或插入的请求转到服务器。如果可能的话,我更愿意在客户端进行更新,因为这将允许我更新我的标签而不必重新加载整个页面。

解决方案:更改为使用devexpress组件,我在用户对象中使用aspxgridview客户端事件EndCallback。我在用户对象中定义了一个属性来存储要在EndCallback回调中调用的javascript函数。这个属性可以由容器页填充,因为在那里我知道我需要的所有ID。

我的代码是:

代码语言:javascript
复制
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <uc1:InvoiceItems runat="server" ID="InvoiceItems" />
      <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
    </form>
</body>
</html>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-29 15:04:28

我通过在客户端进行更改来解决这个问题。在我的用户对象中,我做了:

代码语言:javascript
复制
public String ClientCallback { get; set; }
private void Page_Init(object sender, EventArgs e)
    {
      GridView.ClientSideEvents.EndCallback = ClientCallback;
    }

在我的页面上:

代码语言:javascript
复制
<dr:UserObject runat="server" ID="UserObject1"
ClientCallback="UpdateFeesTotal" />

函数UpdateFeesTotal是一个javascript函数,它更新标签,现在也使用ASPxLabel来使用客户端功能。

票数 0
EN

Stack Overflow用户

发布于 2016-02-26 16:04:37

如果您知道要控制哪个标签,则始终可以在用户控件中拥有一些属性,从而保留该标签id。

票数 0
EN

Stack Overflow用户

发布于 2016-02-26 16:11:04

可以在控件中使用泛型方法来设置标签的值,并将该label控件传递给函数。

函数只执行passedLabel.Text =“我的文本”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35656064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档