无法使用ASP.NET获取输入值

时间:2015-12-16 10:38:18

标签: javascript c# asp.net

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

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元素时,我收到错误消息“类型或命名空间名称'输入'不存在...”

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

4 个答案:

答案 0 :(得分:1)

后面的代码中无法访问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

答案 1 :(得分: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;

答案 2 :(得分:0)

使用:

string myInput = myTextBox.Text;

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

答案 3 :(得分:0)

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

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