2017-10-10 10 views
0

enter image description hereスパンでjavascriptを使用して作成した商品タグの値を取得し、値をコントローラに渡すにはどうすればよいですか?

<input type="text" class="product-input js-product-tags" placeholder="Computer, devices, smartphone" /> 


    <ul class="js-tags"> 
    <li class="tag-options"> 
     <span>CPU</span><div class="remove-tag js-remove-tag">X</div> 
    </li> 
    </ul> 

これは私のhtmlタグのコードがどのように見えるかです。どうすればこれらのスパン値をコントローラに渡し、jquery Ajaxなしでデータベースに保存できますか?

+0

はあなたには、いくつかのjQueryプラグインを使用しているようだ、株式ことコード – Satpal

+0

ビューからコントローラにデータを渡す方法については、この記事をご覧ください。https://stackoverflow.com/questions/20333021/asp-net-mvc-how-to-pass-data-from-view -to-controller – Leth

+0

iaなしjqueryプラグインを使用していない場合は、jqueryを使用して入力入力イベントで商品タグを作成します。 – Ahmed

答えて

1

あなたがポストバックをしたい場合は、作成隠しinput要素:name="tags"tagsは、あなたのパラメータ名です

<input type="text" class="product-input js-product-tags" placeholder="Computer, devices, smartphone" /> 
<input type="hidden" name="tags" value="CPU" /> 
<input type="hidden" name="tags" value="RAM" /> 
<input type="hidden" name="tags" value="HARDWARE" /> 

<ul class="js-tags"> 
<li class="tag-options"> 
    <span>CPU</span><div class="remove-tag js-remove-tag">X</div> 
    <span>RAM</span><div class="remove-tag js-remove-tag">X</div> 
    <span>HARDWARE</span><div class="remove-tag js-remove-tag">X</div> 
</li> 
</ul> 

...:

[HttpPost] 
public ActionResult Create(ICollection<string> tags) { 
    // ... 
} 
+0

あなたの答えをありがとう。入力タイプを隠して作業しています。それを行う良い方法は何ですか? jquery ajaxはこのようなことをする方が良いですか? – Ahmed

+0

アプリケーションフローによって異なります。あなたのポストバックページが同じページをロードしようとするならば、ajaxはスムーズな操作のためには速いので、データが送られず、ページが再レンダリングされないため、良い結果が得られます。代わりに、JavaScriptでビューを処理する必要があります。ビューの外観を変更する場合は、2つのメンテナンスポイントが必要になります。 – aaron

関連する問題