如何从提交按钮上的 TextBot 获取值?

Posted

技术标签:

【中文标题】如何从提交按钮上的 TextBot 获取值?【英文标题】:How to get the value from a TextBot on a submit button? 【发布时间】:2019-06-13 00:45:31 【问题描述】:

我正在创建一个将从 QR 码接收数据的网页。我是 asp .Net 的新手,我正在尝试从 TextBox 接收一个值并将其传递给 SQL 服务器。我怎样才能使用 javascript 或任何语言做到这一点?

这是我的代码:

我尝试使用以下命令执行此操作:String text = email.Text.ToString();

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="SampleDB.aspx.vb" Inherits="SampleDB.SampleDB" %>



<!DOCTYPE html>

<html  lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MS SQL SAMPLE DATABASE</title>
<link rel="stylesheet" href="font/Audiowide.css" />
<link rel="stylesheet" href="css/style.css"/>
</head>
<body>
<section class="cus-top-section">
    <h2 class="cus-main-heading">MS SQL SAMPLE DATABASE</h2>
</section>
    <form id="form1" runat="server">
<section class="cus-bot-section">
<h2 class="hidden">MS SQL Database</h2>
    <div style="overflow-x:auto;" class="cus-table-outer">
        <div class="cus-btn" >
            <asp:Button ID="btnSampleData" runat="server" Text="Show Sample Data" CssClass="submit" />
        </div> 
        <div class="tb-left"> </div>
        <div class="tb-rgt">
        <asp:Label ID="lblMessage" runat="server"></asp:Label>
        <br />
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
        <asp:SqlDataSource ID="sampledataSource" runat="server" ConnectionString="<%$ ConnectionStrings:connection %>" SelectCommand="SELECT * FROM [People]"></asp:SqlDataSource>
        </div>
    </div>
</section>

        <section class ="campos">
            //Campo inserir o nome
            <table>
        <tr>
            <td>
                <div style="overflow-x:auto;" class="cus-table-outer"/>
                <asp:Label Text="Insira o seu nome completo" runat="server" CssClass="cus-bot-section" />
            </td>
            <td colspan="2">
                <div style="overflow-x:auto;" class="cus-table-outer"/>
                <asp:TextBox ID="TextBox2" runat="server" CssClass="cus-bot-section"></asp:TextBox>
            </td>
        </tr>
    </table>
        // Campo inserir endereço
            <table>
        <tr>
            <td>
                <div style="overflow-x:auto;" class="cus-table-outer"/>
                <asp:Label Text="CPF" runat="server" CssClass="cus-bot-section" />
            </td>
            <td colspan="2">
                <div style= "overflow-x:auto;" class="cus-table-outer"/>
                <asp:TextBox ID="CPF" runat="server" CssClass="cus-bot-section" onkeydown = "return (!(event.keyCode>=65) && event.keyCode!=32);" 
                    Rows="10" onkeypress="return this.value.length<=10" Width="100%"></asp:TextBox>

            </td>
        </tr>
    </table>
            <script>
  window.fbAsyncInit = function() 
    FB.init(
      appId      : '307419739906888',
      cookie     : true,
      xfbml      : true,
      version    : 'v3.2'
    );

    FB.AppEvents.logPageView();

  ;

  (function(d, s, id)
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) return;
     js = d.createElement(s); js.id = id;
     js.src = "https://connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   (document, 'script', 'facebook-jssdk'));
    </script>

    <fb:login-button scope="public_profile,email"
                     onlogin="checkLoginState();">
    </fb:login-button>


            <table>
        <tr>
            <td>
                <div style="overflow-x:auto;" class="cus-table-outer"/>
                <asp:Label Text="email" runat="server" CssClass="cus-bot-section" />
            </td>
            <td colspan="2">
                <div style= "overflow-x:auto;" class="cus-table-outer"/>
                <asp:TextBox ID="email" runat="server" CssClass="cus-bot-section" Width="100%"></asp:TextBox>

            </td>

        </tr>
    </table>

        </section>
              <script  runat="server">
                  Sub submit(sender As Object, e As EventArgs)


                  End Sub


</script>
        <asp:TextBox id="txt1" runat="server" />
<asp:Button OnClick="submit" Text="Submit" runat="server" />
<p><asp:Label id="lbl1" runat="server" /></p>
        </form>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script>

$(document).ready(function()
    $("input.submit").click(function()
        var mohara = $("email")            
$() 
        $("table").toggle();
    );
);
</script> 

</body>
</html>

我应该使用外部类来完成它还是可以在文件 aspx 中完成它?

【问题讨论】:

【参考方案1】:

首先,您似乎想用 C# 编写代码,但实际上项目是用 VB 编写的(我可以从标题中看出),所以您可能想用 ASP.NET C# 打开项目。

现在的问题, aspx 文件背后的逻辑应该写在SampleDB.aspx.vb 里面(写在你文件的顶部:CodeBehind="SampleDB.aspx.vb")。

(当您切换到 c# 时,文件将以 .cs 而不是 .vb 结尾,因为它将是用 c# 编写的类)

在 SampleDB.aspx.vb 中,您将能够使用其 ID 访问 TextBox,因此假设这是 TextBox:

<asp:TextBox ID="EmailTextBox" runat="server" CssClass="cus-bot-section"></asp:TextBox>

您可以通过写String text = EmailTextBox.Text;来获取其中的文字

在该课程中,您还应该访问您的数据库。 (它被称为CodeBehind 是有原因的:)它是视图背后的代码)。

我建议创建一个新的静态类来处理与数据库的连接,然后无论您想在哪里使用它,都可以从后面的代码中调用正确的函数。

希望我能帮上忙:)

【讨论】:

成功了!您知道如何将该字符串传递给 SQL 数据库吗?例如:SQL 上名为 firstName 的列的字符串名称 @LUCASMSANTOS 我很高兴它成功了 :),请阅读有关在 C# 中实现对 SQL 数据库的访问的教程(例如使用这个命名空间:System.Data.SqlClient),它们有很多教程在网络上:)

以上是关于如何从提交按钮上的 TextBot 获取值?的主要内容,如果未能解决你的问题,请参考以下文章

HTML 表单上的默认提交按钮是如何确定的?

如何在单击提交按钮时获取复选框值?

如何验证提交按钮上的复选框?

在提交或操作按钮上从 Shiny UI 应用程序获取输入到服务器

从api设置值后如何自动提交表单

在 vue 组件上提交表单时如何获取值单选按钮?