如何通过按钮给用户控件赋值

fontpage2000 2014-03-30 02:19:57
页面加载完成我想通过按钮给页面上的用户控件赋值,请问有什么办法。或者按钮怎么让页面上的用户控件重新加载一次。
...全文
155 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
insus 2014-03-30
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
asp.net是运行在服务器端的,不可能运行在浏览器端。你所谓的“给控件赋值”是如何测试的呢?
  • 打赏
  • 举报
回复
给控件赋值,如果没有特别的理由,那么就应该在服务器端执行了。 尽管如此,我还是给你写了一个demo,可以试一下(页面 TestPostbackEvent.aspx)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestPostbackEvent.aspx.cs" Inherits="TestPostbackEvent" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />  <asp:Button ID="Button2" runat="server" Text="Button" OnClick="Button2_Click" />
          
        <asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Text="清理标记" />
          
        <asp:Button ID="Button4" runat="server" OnClick="Button4_Click" Text="刷新一下页面" />
        <hr />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </form>
</body>
</html>
using System;
using System.Web.UI;

public partial class TestPostbackEvent : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!已经点过按钮)
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "点自己的按钮", this.GetPostBackEventReference(this.Button1), true);
            已经点过按钮 = true;
        }
    }

    public bool 已经点过按钮
    {
        get
        {
            var obj = ViewState["点Button1"];
            if (obj == null)
                return false;
            else
                return (bool)obj;
        }
        set
        {
            ViewState["点Button1"] = value;
        }
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        this.Label1.Text = "按钮1";
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        this.Label1.Text = "按钮2";
    }

    protected void Button3_Click(object sender, EventArgs e)
    {
        已经点过按钮 = false;
    }

    protected void Button4_Click(object sender, EventArgs e)
    {

    }
}
你可以看到,什么时候给Label赋值1,什么时候赋值2?!
archip 2014-03-30
  • 打赏
  • 举报
回复
你所提出的问题牵扯到两块 1、用户控件的赋值 2、用户控件的局部刷新 对于用户控件的赋值这个问题涉及到用户控件的编写和制作。只有在设计时为用户控件设置属性。你在调用才可以对用户控件进行赋值。 属性的写法:

public string Url { get; set; }
对于用户控件的局部刷新看要怎么理解。如果使用ajax技术对用户控件的局部进行刷新是可行的。

62,046

社区成员

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

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

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

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