【问题标题】:HTML button onserverclick is not working in asp.netHTML 按钮 onserverclick 在 asp.net 中不起作用
【发布时间】:2017-04-05 16:53:09
【问题描述】:

我在 onserverclick 事件中遇到了问题。我在 tab_1 中创建了一个 HTML 服务器端按钮“btnsubmit”:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.cs" Inherits="Skripsi.Home" %>

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Home</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

    <div class="container-fluid bg-1 text-center">
        <img src="/Image/fti-untar.png" alt="untar" />
        <h2>Layanan</h2>
        <br />
    </div>

    <div class="container">
        <ul class="nav nav-pills nav-stacked col-md-2">
          <li class="active"><a href="#tab_1" data-toggle="pill">Home</a></li>
          <li><a href="#tab_2" data-toggle="pill">Biodata</a></li>
          <li><a href="#tab_3" data-toggle="pill">Konsultasi</a></li>
          <li><a href="#tab_4" data-toggle="pill">Hasil Studi</a></li>
        </ul>
        <div class="tab-content col-md-10">
            <div class="tab-pane active" id="tab_1" runat="server">
                <div id="panel1" class="panel panel-default">
                    <div class="panel-heading">
                        <h3 class="panel-title">Biodata</h3>
                    </div>
                    <div class="panel-body">
                        <label for="id">ID</label>
                        <input type="text" id="txtid" class="form-control" runat="server"/>
                        <br />
                        <label for="nama">Nama</label>
                        <input type="text" id="txtnama" class="form-control" />
                        <br />
                        <label for="email">Email</label>
                        <input type="text" id="txtemail" class="form-control" />
                        <br />
                        <label for="alamat">Alamat</label>
                        <input type="text" id="txtalamat" class="form-control" />
                        <input type="button" id="btnsubmit" runat="server" class="btn btn-default" onserverclick="btnsubmit_ServerClick">Submit</input>
                    </div>
                </div>
            </div>

            <div class="tab-pane" id="tab_2">
                                <div class="col-xs-3">
                    <input type="text" id="txtname" name="Name" value="" class="form-control"/>
                </div>
                <h4>Pane B</h4>
            <p>Pellentesque habitant morbi tristique senectus et netus et malesuada famesac turpis egestas.</p>
            </div>
            <div class="tab-pane" id="tab_3">
                <h4>Pane C</h4>
                <p>Pellentesque habitant morbi tristique senectus et netus et malesuada famesac turpis egestas.</p>
            </div>
            <div class="tab-pane" id="tab_4">
                <h4>Pane D</h4>
                <p>Pellentesque habitant morbi tristique senectus et netus et malesuada famesac turpis egestas.</p>
            </div>

        </div><!-- tab content -->
    </div><!-- end of container -->
</body>
</html>

而后面的代码是:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Skripsi
{
    public partial class Home : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnsubmit_ServerClick(object sender, EventArgs e)
        {
            Response.Write("Success Horray");
        }

    }
}

按下按钮时出现以下错误:

asp运行时错误(基类包含字段'btnsubmit',但其类型与控件类型不兼容)

更新: 清理解决方案并重建后,出现以下错误:

'元素输入的开始和结束标签之间不允许有内容'。

【问题讨论】:

  • 将 onserverclick 更改为 OnClick
  • 仍然无法正常工作。而 OnClick 仅适用于 asp:Button
  • 你为什么不用asp:Button
  • 如果我使用 asp:button,那么我需要使用表单标签。我只是不想使用表单标签。

标签: html asp.net servercontrols


【解决方案1】:

是asp运行时错误(基类包含字段'btnsubmit',但其类型与控件类型不兼容)

在解决方案资源管理器窗口中,右键单击您的解决方案并选择清理解决方案,然后重新构建解决方案

并将元素格式化为这样

<input type="button" id="btnsubmit" runat="server" class="btn btn-default" onserverclick="btnsubmit_ServerClick" value="Submit" />

【讨论】:

  • 对不起,你是什么意思?
  • 从解决方案资源管理器菜单中,我以任何方式编辑我的答案以获取完整详细信息
  • 我仍然收到错误“元素输入的开始标签和结束标签之间不允许有内容”。
  • 你不能在 标签内添加文本
【解决方案2】:

你可以试试 “输入类型='按钮'” 而不是“按钮”?

<button id="btnsubmit" runat="server" class="btn btn-default" onserverclick="btnsubmit_ServerClick">Submit</button>

【讨论】:

  • 不工作。是asp运行时错误(基类包含字段'btnsubmit',但其类型与控件类型不兼容)。
猜你喜欢
  • 1970-01-01
  • 2012-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-17
  • 1970-01-01
  • 2011-02-28
  • 2021-09-05
相关资源
最近更新 更多