Asp.net文本框以不同方式显示文本和值

Asp.net文本框以不同方式显示文本和值,asp.net,Asp.net,我使用javascript文档getElementById填充文本框的值 我能够在UI中看到文本的变化。然而,在代码背后,它显示了一个不同的值。我检查了输入上的元素,看到值和文本显示的不同。这怎么可能 这是我在inspect元素值='19 Bradston Street(South Bay)'上看到的,但UI显示'35-49 East Santa Clara Street':- <input name="ctl00$ContentPlaceHolder1$CtlPropertySales$

我使用javascript文档getElementById填充文本框的值

我能够在UI中看到文本的变化。然而,在代码背后,它显示了一个不同的值。我检查了输入上的元素,看到值和文本显示的不同。这怎么可能

这是我在inspect元素值='19 Bradston Street(South Bay)'上看到的,但UI显示'35-49 East Santa Clara Street':-

<input name="ctl00$ContentPlaceHolder1$CtlPropertySales$txtBuildingName" type="text" value=" 19 Bradston Street (South Bay)" id="ctl00_ContentPlaceHolder1_CtlPropertySales_txtBuildingName" tabindex="95" style="font-family:tahoma,verdana;font-size:11px;font-weight:normal;height:16px;width:150px;">

这是设置值的Javascript代码:-

document.getElementById('<%=CtlPropertySales.FindControl("txtBuildingName").ClientID%>').value = params[1]
document.getElementById(“”).value=params[1]

有谁能告诉我这是怎么可能的,我怎么能解决这个问题。

看起来您可能没有正确获取ID。你在找什么

<%=CtlPropertySales.FindControl("txtBuildingName").ClientID%>

您可以考虑将此添加到Web.CONFIG:

<system.web>
    <pages clientIDMode="Static">
</system.web>


使用
clientmode=“Static”
,ID将保留其原始名称,您将不再需要使用
ctl00
ClientID
。这有助于设置值,但会影响应用程序/站点中的所有ID,您必须更新脚本。

value属性将显示服务器呈现控件时设置的值。当您设置
属性时,我不会更改。@hardkoded-解决方案是什么?这些是用户控件中的文本框。那么,您的问题是什么?您的更改在回发时丢失?你是如何发布这些价值观的?这些输入是禁用的还是只读的?您可以通过
ajax
WebMethod
将客户端值发送给代码隐藏。下面的答案可以给你一个线索:仅供参考,如果你想看的话,我更新了我的原始答案。更新了更多信息和更好的答案。
<system.web>
    <pages clientIDMode="Static">
</system.web>