【问题标题】:Unable to get value of input using ASP.NET无法使用 ASP.NET 获取输入值
【发布时间】:2015-12-16 10:38:18
【问题描述】:

我正在尝试返回一些输入到我网站上的文本框元素中的文本。在其中输入一些文本后,我注意到这没有返回数据:

document.getElementById('myTextBox').text;

但是这样做了:

document.getElementById('myTextBox').value;

编辑:上面的 javascript 用于客户端测试正在读取的内容,使用 .text 返回一个空字符串,当传递回服务器时,确实显示了一个空字符串。 .value 包含我输入的数据,但是当我尝试使用 .value 服务器端时出现错误。

但是在我的 .cs 类中,当我尝试添加以下内容时:

string myInput = myTextBox.Value;

我收到一条错误消息说

“System.Web.UI.WebControls.TextBox 不包含对 ‘价值’……”。

我引用的例子来自这里:http://www.aspsnippets.com/Articles/Get-value-of-HTML-Input-TextBox-in-ASPNet-code-behind-using-C-and-VBNet.aspx

我的文本框声明如下:

<asp:TextBox ID="myTextBox" runat="server"></asp:TextBox>

但是,当我尝试将 TextBox 元素更改为 Input 元素时,我收到一条错误消息:“类型或命名空间名称 'Input' 不存在...”

如何将输入到我的 TextBox 中的数据传回服务器?

【问题讨论】:

  • myTextBox.Text 返回一个空字符串;我使用 javascript 来测试客户端读取的内容,但是当我尝试使用 .Value 服务器端时出现错误

标签: javascript c# asp.net


【解决方案1】:

在您所指的教程中,他们演示了如何在服务器端访问 html 输入文本框值。您正在混合使用 html 控件和 asp.net 服务器控件。

这代表一个 ASP.NET 服务器控件:-

<asp:TextBox ID="myTextBox" runat="server"></asp:TextBox>

您可以像这样在服务器端(.cs 文件)访问它的值:-

string vaue = myTextBox.Text;

另一方面,html input 可以通过添加 runat="server" 属性转换为服务器控件,如下所示:-

<input type="text" id="txtName" name="Name" value="" />

在这种情况下,它是HtmlInputText,您需要像这样访问它的值:-

string value = txtName.Value;

【讨论】:

  • 啊,好吧,我知道我现在搞混了。我将它保留为文本框,但我原来的问题仍然存在;使用 myTextBox.Text 时,返回的所有内容都是“”,即使我的文本框中肯定有文字。你有什么想法吗?
  • @Novastorm - 好的,你有一个ASP:Textbox?当你试图访问它的价值时?我的意思是按钮单击处理程序或其他什么?编辑您的帖子并显示您正在尝试的小而完整的代码。
  • 非常感谢您的评论 - 您的评论促使我再次查看处理它的位置 - 我的编码错误! .Text 确实返回了文本框的内容
【解决方案2】:

HTML 元素,例如(输入)在您的代码后面是不可访问的。如果您使用 runat="server" 属性,则可以访问与您使用的类似的 Asp.Net 控件。

如果您想在代码隐藏 (.cs) 中访问您的 Asp.Net 文本框,则不需要 javascript。只需使用:

string value = this.myTextBox.Text

但是,如果您的文本框只是一个 HTML 输入,那么您需要使用一些 Javascript 逻辑来获取输入的值并将其传递给您的 .cs 文件。

为此,您必须执行以下操作: Passing values from javascript to code behind in ASP.NET

【讨论】:

    【解决方案3】:

    用途:

    string myInput = myTextBox.Text;
    

    这将为您提供在文本框中输入的所有文本

    【讨论】:

      【解决方案4】:

      要为 javascript 函数获取文本框的文本:

       function GetValueOfmyTextBox()
          {            
              var myTB = document.getElementById('<%= myTextBox.ClientID %>');
              alert(myTB.value);
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-19
        • 2020-12-22
        • 1970-01-01
        相关资源
        最近更新 更多