通过JQuery和JSON设置ASP LinkBut​​ton控件的文本

时间:2012-12-05 16:53:33

标签: jquery asp.net json

我有一个ASP.net 4.0站点进行修改。特别是,我想将LinkBut​​ton控件的文本值设置为文件名:

<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。

我已经搜索了许多尝试获得正确语法的网站,但没有任何内容对我有用。谁能告诉我正确的语法?

感谢

2 个答案:

答案 0 :(得分:3)

您设置值的语法错误。

更改

('id=$LinkButtonFile1').val() = FileNames.name

('[id*=LinkButtonFile1]').text(FileNames.name);

或使用id代替外卡,首选方法

('#<%= LinkButtonFile1.ClientID %>').text(FileNames.name);

答案 1 :(得分:0)

我知道这个问题已经过时了,但我一直在寻找相同的答案而无法找到任何帮助。经过大量的挖掘,问题询问等等,我找到了解决方案,我认为这将有所帮助。

首先,让我们看一下你的LinkBut​​ton:

  

<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放在引号中,或直接拉出实际文本。