我在ASP.NET网站上有以下Web表单
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" ValidateRequest="false" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function SetTextBoxValues() {
TextBox1.value = "Textbox can be set without calling document.getElementById()";
TextBox2.value = "Textbox can be set without calling document.getElementById()";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server" Height="210px" TextMode="MultiLine" Width="725px"></asp:TextBox>
<br/>
<textarea rows="4" cols="50" id="TextBox2" runat="server" />
<br/>
<button onclick="SetTextBoxValues()">Set Text Box Value</button>
</form>
</body>
</html>
该页面正常工作,因为我可以单击按钮并在TextBox1和Textbox2中设置值。我不明白的是在javascript函数中设置Textbox值的方式。
<script type="text/javascript">
function SetTextBoxValues() {
TextBox1.value = "Textbox can be set without calling document.getElementById()";
TextBox2.value = "Textbox can be set without calling document.getElementById()";
}
通常我们需要使用以下JS代码:
document.getElementById('<%=txtTextBox.ClientID %>').value = "Some values";
但看起来我们可以在不使用document.getElementById()的情况下设置值。我可以知道它为什么这样工作吗?这是使用javascript设置文本框值的有效方法吗?
答案 0 :(得分:0)
您使用组件&#34; runat服务器&#34;所以你应该使用代码behing:
TextBox2.Text = yourvalue;
创建一个方法服务器端来管理您的输入。
我认为这就像这篇文章: textarea control, asp.net c#
答案 1 :(得分:0)
引用ConnorsFan作为评论提供的答案。
确实有效。我想这里给出了解释: stackoverflow.com/questions/3434278/…。 - ConnorsFan Jun 16 '16 at 12:29