我在.aspx每增加一个服务器控件,在.aspx.cs都为相应的为其申请一个实例,如:
protected System.Web.UI.WebControls.TextBox TStartTime;
protected System.Web.UI.WebControls.LinkButton BStartTime;假如我在BStartTime这按钮上双击,还会自动生成如下函数:
private void BStartTime_Click(object sender, System.EventArgs e)
{
Response.Write("Clicked!");
}可是我如何使用BStartTime_Click这个函数呢?在aspx文件中如下写:
<asp:LinkButton id="BStartTime" runat="server" Width="80px" Height="16px">开始时间</asp:LinkButton>
似乎并不会在被点击的时候调用BStartTime_Click函数,如果写上OnClick = "BStartTime_Click"呢,又说不能访问保护成员。请问这是怎么会事?.aspx.cs文件的内容大至如下:
namespace TestWebApp
{
public class TestWebAppForm : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox TStartTime;
protected System.Web.UI.WebControls.LinkButton BStartTime;

private void Page_Load(object sender, System.EventArgs e)
{
}

private void BStartTime_Click(object sender, System.EventArgs e)
{
TStartTime.Text = "Clicked!";
Response.Write("Clicked!");
}
}
}

解决方案 »

  1.   

    似乎并不会在被点击的时候调用BStartTime_Click函数,如果写上OnClick = "BStartTime_Click"呢,又说不能访问保护成员。请问这是怎么会事?
    ---------------------------------------------------------------
    把private改为public就可以了
      

  2.   

    改为public,错误为:
    “ASP.MainWebApp_aspx”并不包含对“BStartTime_Click”的定义.aspx文件内容如下:
    <%@ Page language="c#" Codebehind="MainWebApp.aspx.cs" AutoEventWireup="false" Inherits="TestWebApp.TestWebAppForm" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>WebForm1</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="TestWebAppForm" method="post" runat="server">
    <FONT face="宋体" size="2">
    <asp:LinkButton id="BStartTime" OnClick = "BStartTime_Click" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 16px"
    runat="server" Width="80px" Height="16px">开始时间</asp:LinkButton>
    <asp:TextBox id="TStartTime" style="Z-INDEX: 102; LEFT: 88px; POSITION: absolute; TOP: 8px" runat="server"
    Width="96px" Height="24px"></asp:TextBox></FONT>
    </form>
    </body>
    </HTML>
      

  3.   


    private void BStartTime_Click(object sender, System.EventArgs e)
    {
        你只需要在这里写代码就行了啊
    }其他都不需要去改
      

  4.   

    asp.net前台和后台是分开的,你的问题:“.asp.cs文件如何使用”有点奇怪。
    .asp.cs就是asp.net的后台代码啊,使用c#写你要实现的各种逻辑啊。
      

  5.   

    我的意思根你一样,可是问题是代码并没有产生作用,下面我把代码再贴一次,尽量简短点:
    .aspx.cx代码:
    namespace TestWebApp
    {
    public class TestWebAppForm : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.TextBox TStartTime;
    protected System.Web.UI.WebControls.LinkButton BStartTime;
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    }
    private void BStartTime_Click(object sender, System.EventArgs e)
    {
    TStartTime.Text = "Clicked!";
    }
    }aspx代码:
    <%@ Page language="c#" Codebehind="MainWebApp.aspx.cs" AutoEventWireup="false" Inherits="TestWebApp.TestWebAppForm" %>
    <HTML>
    <HEAD></HEAD>
    <body>
    <form id="TestWebAppForm" method="post" runat="server">
    <asp:LinkButton id="BStartTime" runat="server">开始时间</asp:LinkButton>
    <asp:TextBox id="TStartTime" runat="server"></asp:TextBox>
    </form>
    </body>
    </HTML>
    这才代码短了,好看些了吧,上面的问题就是点BStartTime按钮后,TStartTime并没有显示Clicked!