【问题标题】:ASP.NET string not printing to tdInnerHtml [closed]ASP.NET 字符串未打印到 tdInnerHtml [关闭]
【发布时间】:2015-02-14 01:17:02
【问题描述】:

软件:Visual Web Developer 2008 速成版 书:Programming ASP.NET 3.5 by O'Reilly

这是一张桌子

这是标记。请注意,tdInnerHtml 在最后一列,最后一行

        <tr>
            <td>
                City</td>
            <td>
                <asp:TextBox ID="txtCity" runat="server"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td>
                State</td>
            <td>
                <asp:TextBox ID="txtState" runat="server"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td class="style2">
                </td>
            <td class="style2">
                </td>
        </tr>
        <tr>
            <td>
                &nbsp;</td>
            <td id="tdInnerHtml" runat="server">
               &nbsp;  </td>
        </tr>
    </table>

</div>
<asp:Button ID="Button1" onServerClick="Button1_OnServerClick" runat="server" Text="Button" />

这是Button1被点击时的动作

protected void Button1_OnServerClick(object sender, EventArgs e) 
{
    string strHtml = "";
    strHtml += txtName.Text + "<br/>";
    strHtml += txtStreet.Text+ "<br/>";
    strHtml += txtCity.Text + ", " + txtState.Text;
    tdInnerHtml.InnerHtml = strHtml;
}

当我运行程序并按下按钮时,屏幕上没有写入任何内容

【问题讨论】:

  • 将 onServerClick 更改为 OnClick 并在 tdInnerHtml 中定义一个标签并将您的输出写入该标签。
  • 在您的事件处理程序处设置一个断点并检查当您单击按钮时它是否被击中

标签: c# asp.net button onclick innerhtml


【解决方案1】:

您将错误的属性归因于OnClick 事件。

尝试将onServerClick 更改为OnClick,如下所示:

<asp:button runat="server" ID="button1" OnClick="Button1_OnServerClick" Text="Button" />

【讨论】:

  • 谢谢,它有效!书上说onServerClick
  • 如果对您有帮助,别忘了将其标记为答案。
【解决方案2】:

更改属性onServerClick to onClick。正如您已经得到答案,解释就像

OnServerClick 调用按钮的ServerClick 事件,这意味着它会在执行事件处理程序之前导致服务器往返。 onclick在客户端执行,比如用Javascript

在到服务器的往返行程完成之前,OnServerClick 不会被触发,onclick(客户端)总是会首先触发..

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签