这是另一个让我撕掉我头发左边的东西。
我最新的asp.net页面是我刚刚为一个内部数据库工具拼凑而成的东西。它使用标准的VS 2010设计模板,这意味着它使用site.master页面。我提到这个是因为它可能与我的问题有关。
我使用asp:textbox
控制而不是input type="text"
。当一个文本框模糊时,'我需要在代码隐藏中运行一个sub,它将根据文本框中输入的信息进行数据库查找。
我看到的一切是我需要添加asp:hiddenfield
来触发代码隐藏事件来进行查找。所以我在JavaScript脚本中使用document.GetElementById
方法来设置隐藏字段中的值。它应该做的是:document.GetElementById('HiddenInfo').value = "yada-yada"
。
我的问题是VS开发环境没有识别GetElelmentById命令的.value属性。例如,正如它所习惯的那样,VS会在您键入时给出代码提示。当我到达我想要插入.value参数的位置时,它不会显示在建议列表中。见插图:
正如您所看到的,输入v并不会显示.value参数。
我已尝试通过ClientID和使用jquery获取它,但没有任何作用。疯狂的是我之前使用我开发的另一个网页做了这个,但唯一的区别是没有一个site.master页面。
我花了好几个小时试图在网上找到答案,没有什么与我的问题完全一样。
有什么想法吗?
谢谢!
答案 0 :(得分:0)
那是一个asp .net元素,所以你必须得到它的信任我相信。这是在jquery:
$('#<%=HiddenInfo.ClientID %>').val();
答案 1 :(得分:0)
<script language="javascript" type="text/javascript">
function CheckCC() {
document.getElementById('HiddenInfo').value="YES";
<%= ClientScript.GetPostBackEventReference(HiddenInfo, "") %>;
}
我挖出了答案here。
似乎是一个非常模糊的解决方案。
奇怪的是,在我之前的asp.net设计中,这并不是必需的。这让我很困惑,我仍然不理解它。但至少我现在可以前进了。
感谢大家的建议。