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 = ..」を使用しています。これを行うことで問題が解決することがグーグルでわかりました。this is debug を 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_" のようなものが追加されます。Web ページのソース コードを確認して確認します。

第二に、どのようにボタンを握っていますか...

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

getElementById は、jquery と混合されたより javascript-y です。1つだけに固執しましょう..jquery.

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

これにより、リンクボタンのテキストを変更できるようになります。それでもうまくいかない場合は、FileNames.name を引用符で囲むか、実際のテキストを直接取り出してみてください。

于 2014-05-28T16:35:22.237 に答える