8

.Net サーバー側で JQuery の機能を活用できるかどうかは誰にもわかりませんか?

たとえば、一部のコード ビハインドに文字列として HTML があります。その上でJQueryを実行する方法はありますか?

私は現在これをやっています...

これが文字列であると仮定します...

<input id='AddressSettings_txtFirstName' name='txtFirstName' 
value='#firstNameValue#' size='25' type='text'  class='val_required'/> 

私のC#はこれを行います

 strHTML = strHTML.Replace("#firstNameValue#", customerInfo.FirstName);

これが、データを HTML にバインドする方法です。

ここでやりたいことは、#firstNameValue# をプレース ホルダーとして追加して置き換える代わりに、C# コードの HTML 文字列で JQuery の行を何らかの形で実行したいと考えています。

strHTML = strHTML.ExecuteJQuery("$('#AddressSettings_txtFirstName').text('" 
         + customerInfo.FirstName + "')");

ここでのオプションは何ですか?

4

6 に答える 6

4

すべての意図と目的に対して、答えは「いいえ」です (これを処理するためのあいまいな方法があるかもしれませんが、それは最適な方法ではありません)。

サーバー側で生成されている HTML を操作する方法を探しているようですが、これは非常に正当な欲求です。.NET (またはその他の) テクノロジを使用したサーバー側のアプローチは、クライアント側でどのようにアプローチするか。

コンテンツはクライアントで既にレンダリングされているため、それを変更する方法は異なります。サーバー上では、クライアントが必ずしもアクセスできるとは限らないデータ (およびリソースとライブラリ) を使用して、最終的に HTML をクライアントにレンダリングするさまざまな部分からページが構築されます。

そのため、サーバーで利用可能なものを使用して、実行していることを達成したいと考えています。

ASP.NET の WebForms モデルまたは MVC モデルを使用しているかどうかに関係なく、タグを自分で書き出す必要なくデータにバインドできるメカニズムがあります。

たとえば、WebForm モデルには、 Text プロパティを設定できるTextBox クラスがあります。

ASP.NET MVC では、InputExtensions クラスにTextBox 拡張メソッドがあり、テキスト ボックスのコンテンツを渡すことができ、メソッドがタグをレンダリングします。

于 2010-03-02T18:46:07.753 に答える
1

あなたが望むのは HTML アジリティ パックかもしれません。JavaScript を実行することはできませんが、DOM 操作を行うことはできます。http://htmlagilitypack.codeplex.com/を試してみてください。

于 2014-03-12T11:16:57.677 に答える
0

これがJavaの答えです。ここここ John Resig という名前の人物によって提供されました。(JQuery に関しては、彼が何について話しているのかわかりません...ウィンク ウィンク)

では、.Net はどうでしょうか。

于 2010-03-02T19:21:29.840 に答える
0

DOM はブラウザ固有のエンティティです。したがって、あなたが求めるように直接入手することはできません。ただし、操作したいものだけを決定し.live()、jQuery コードを使用するか呼び出して、要素が追加されるときに動作的なものを追加することができます。変更について:

<input id='AddressSettings_txtFirstName' name='txtFirstName'  
value='#firstNameValue#' size='25' type='text'  class='val_required'/>  

$('#AddressSettings_txtFirstName').change(function(){
// do stuff here
});

たとえば、変更されたときに発火します。編集:もう1つのオプションは、クライアントにajaxとJSONを使用してデータをプルさせることですが、それは現在の作業方法の小さな変化です.

于 2010-03-02T18:56:09.873 に答える
-1

このテクノロジ、ItsNatは、あなたの希望に非常に似ていますが、残念なことに、Java ベースです。

于 2011-01-18T15:41:50.527 に答える