【问题标题】:how to create button click event for form method?如何为表单方法创建按钮单击事件?
【发布时间】:2017-03-09 05:06:17
【问题描述】:

我的布局页面中有表单标签。我不能在内容页面中使用表单标签,所以我正在使用 Form method="post" 如何为此创建按钮单击事件以及如何对 html 输入类型进行验证?

<form class="contact-form-title white" method="post">
    <label id="lblFirstName" runat="server" title="First Name:">First Name:</label>
    <input type="text" id="txtFirstNam" runat="server"  /><br />

    <label id="lblLastName" runat="server" title="Last Name:">Last Name:</label>
    <input type="text" id="txtLastNam" runat="server"  /><br />

    <label id="lblEmail" runat="server" title="Email ID:">Email ID:</label>
    <input type="text" id="txtEmail" runat="server"  />

    <label id="lblMessage" runat="server" title="Message">Message:</label>
    <textarea id="txtMessag" runat="server" ></textarea><br />                          
    <input type="submit" class="btn delicious f-center" runat="server" id="btnContac" name="SUBMIT" onserverclick="btnContac_Click" style="height:25%; width:10%;"/>
</form>

后端:

protected void Page_Load(object sender, EventArgs e)
{

}

protected void btnContac_Click(object sender, EventArgs e)
{
   string FirstName = txtFirstNam.Value;
   string LastName = txtLastNam.Value;
   string EmailID = txtEmail.Value;
   string Message = txtLastNam.Value;
}

【问题讨论】:

  • 我想我不明白...正如我所见,您在单击时会收到回发,并且可以从输入字段中读取值。问题是什么?
  • 这是 asp.net 还是 mvc?
  • @AnilKumar asp.net
  • 代码不起作用?到达 btnContac_Click 了吗?
  • 所以你不想使用服务器控制,c-sharpcorner.com/UploadFile/e83792/asp-net-server-controls?

标签: c# asp.net


【解决方案1】:

方法一:客户端控制 在 Code behind 中使用 ispostback 来捕捉回发事件,

protected void Page_Load(object sender, EventArgs e)
{
     if (!IsPostBack)
        {
            // write form population code;
        }
        else
        {
            //you will get posted data here;
        }
}

要在客户端进行验证,请在下一行编写您自己的 java 脚本验证器。

<script type="text/javascript">
    function validate() 
    {
var Firstname = document.getElementById('txtFirstNam').value
if (Firstname == "") 
{
    alert("Enter First Name");
    return false;
}

if (LastName == "") {
    alert("Enter Last Name");
    return false;
}
}
</script>

然后在单击提交按钮时调用此验证器

<input type="submit" class="btn delicious f-center" runat="server" id="btnContac" name="SUBMIT" onclick="return validate();" style="height:25%; width:10%;"/>

选项 2:服务器端控制

将所有输入和按钮更改为服务器控件(将runat=server)控件更改为 server ,然后您可以在后面的代码中捕获服务器端的事件,就像您尝试做的那样。 good place开始

在服务器端方法中,您有机会使用内置验证器。

ASP.NET provides the following validation controls:
RequiredFieldValidator.
RangeValidator.
CompareValidator.
RegularExpressionValidator.
CustomValidator.
ValidationSummary.

验证者参考here

【讨论】:

    猜你喜欢
    • 2011-11-08
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多