1

我有一个 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。

我用谷歌搜索了许多网站,试图获得正确的语法,但没有什么对我有用。谁能告诉我正确的语法?

谢谢

4

2 回答 2

3

您设置值的语法错误。

改变

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

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

或使用 id 而不是通配符,这里是首选方法

('#<%= LinkButtonFile1.ClientID %>').text(FileNames.name);
于 2012-12-05T16:54:50.780 回答
0

我知道这个问题很老,但我一直在寻找相同的答案,但找不到任何帮助。经过大量的挖掘、提问等,我找到了一个解决方案,我认为它会在这里有所帮助。

首先,让我们看看您的 LinkBut​​ton:

<asp:LinkButton ID="LinkButtonFile1" runat="server" OnClick="GetFile">

将 ClientIDMode="Static" 放在某处。否则,当你运行时,你会在你的 ID 前面加上“MainContent_”之类的东西。查看您的网页源代码进行验证。

其次,你如何抓住你的按钮......

var id = document.getElementById('id$=LinkButtonFile1');

getElementById 更多的是与 jquery 混合的 javascript-y。让我们坚持一个.. jquery。

$("#LinkButtonFile1").text(FileNames.name);

这应该允许您更改链接按钮的文本。如果这不起作用,可能尝试将 FileNames.name 放在引号中,或直接将实际文本拉出。

于 2014-05-28T16:35:22.237 回答