我有一个ASP.net 4.0站点进行修改。特别是,我想将LinkButton控件的文本值设置为文件名:
<asp:LinkButton ID="LinkButtonFile1" runat="server" OnClick="GetFile">
我想在客户端使用JQuery和JSON对象执行此操作:
var FileNames = { "name": "testing" };
var id = ('id=$LinkButtonFile1').val();
('id=$LinkButtonFile1').val() = FileNames.name
我使用'id = ..'因为我正在使用母版页,而我从谷歌搜索中发现这个问题通过这样解决了。在VS2010上运行这是调试显示'val()'不是有效的属性。我尝试了很多变化,包括:
var FileNames = { "name": "testing" };
//var id = document.getElementById("<%= $LinkButtonFile1 %>");
//var id = document.getElementById('[id$=LinkButtonFile1]');
var id = document.getElementById('id$=LinkButtonFile1');
var id = document.getElementById('$LinkButtonFile1');
//('[id=$LinkButtonFile1]').val(FileNames.name);
返回id = null。
我已经搜索了许多尝试获得正确语法的网站,但没有任何内容对我有用。谁能告诉我正确的语法?
感谢
答案 0 :(得分:3)
您设置值的语法错误。
更改
('id=$LinkButtonFile1').val() = FileNames.name
要
('[id*=LinkButtonFile1]').text(FileNames.name);
或使用id代替外卡,首选方法
('#<%= LinkButtonFile1.ClientID %>').text(FileNames.name);
答案 1 :(得分:0)
我知道这个问题已经过时了,但我一直在寻找相同的答案而无法找到任何帮助。经过大量的挖掘,问题询问等等,我找到了解决方案,我认为这将有所帮助。
首先,让我们看一下你的LinkButton:
<asp:LinkButton ID="LinkButtonFile1" runat="server" OnClick="GetFile">
将ClientIDMode =“Static”放在某处。否则,在运行时,您将获得类似“MainContent_”的内容。查看要验证的网页源代码。
其次,你如何抓住你的按钮......
var id = document.getElementById('id$=LinkButtonFile1');
getElementById更多javascript-y与jquery混合。让我们坚持一个.. jquery。
$("#LinkButtonFile1").text(FileNames.name);
这应该允许您更改链接按钮的文本。如果这不起作用,可以尝试将FileNames.name放在引号中,或直接拉出实际文本。