ドロップダウンリストを使用してテキストボックスを非表示にして再表示しようとしています。たとえば、ドロップダウンリストから0を選択した場合、テキストボックスは表示されません。 1つのテキストボックスが選択された値2に対して同様に表示され、2つのボックスが表示されます。次に、コントローラーアクションでhttp [post]に選択した値とテキストボックスのテキストを渡して計算を実行します。私はwebformsでこれをすべて行うことができますが、私はMVC 2でこれを達成する方法を知らない、私はフォームコレクションを使用してビューからコントローラに値を渡すことができますが、どのように私はドロップダウンリストの値を渡します。すべての例や提案をいただければ幸いです。mvcでカスケードドロップダウンリストとテキストボックスを操作する2
0
A
答えて
1
からいくつかの初期のアイデアを得ることができた配列を渡すためにこれを実装する多くの方法があります。入力フィールドは、ドロップダウンリストの選択された値に基づいています。
いつものようにビューモデルを起動します。その後、
public class MyViewModel
{
public string[] Values { get; set; }
public int SelectedItem { get; set; }
public IEnumerable<SelectListItem> Items
{
get
{
return Enumerable.Range(0, 4).Select(x => new SelectListItem
{
Value = x.ToString(),
Text = x + " Item(s)"
});
}
}
}
コントローラ:
public class HomeController : Controller
{
public ActionResult Index()
{
var model = new MyViewModel
{
SelectedItem = 2,
Values = new[] { "", "" }
};
return View(model);
}
[HttpPost]
public ActionResult Index(MyViewModel model)
{
// Here you will get the model properly initialized
return View(model);
}
}
し、最終的にビュー:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<AppName.Models.MyViewModel>" %>
<!DOCTYPE html>
<html>
<head runat="server">
<title>Index</title>
<script type="text/javascript" src="<%: Url.Content("~/scripts/jquery-1.5.1.js") %>"></script>
<script type="text/javascript">
$(function() {
$('#SelectedItem').change(function() {
var count = parseInt($(this).val(), 10);
if (count == 0) {
$('#values').html('');
return;
}
for (var i = 0; i < count; i++) {
var item = $(':text[name="Values[' + i + ']"]');
if (item.length < 1) {
$('#values').append(
$('<div/>').html(
$('<input/>', {
type: 'text',
'data-index': i,
name: 'Values[' + i + ']',
value: ''
})
)
);
}
}
$('#values :text').each(function (index, element) {
if (index >= count) {
$(element).parent('div').remove();
}
});
});
});
</script>
</head>
<body>
<div>
<% using (Html.BeginForm()) { %>
<%= Html.DropDownListFor(
x => x.SelectedItem,
new SelectList(Model.Items, "Value", "Text")
) %>
<div id="values">
<% for (int i = 0; i < Model.Values.Length; i++) { %>
<div>
<%= Html.EditorFor(x => x.Values[i]) %>
</div>
<% } %>
</div>
<input type="submit" value="OK" />
<% } %>
</div>
</body>
</html>
1
それでは、管理するためにJavaScriptを使用して一つの例を見てみましょうあなたがドロップダウンのクリックイベントにいくつかのJavaScriptを記述する必要があるとあなたがhere
関連する問題
- 1. asp.net MVCカスケードドロップダウンリスト
- 2. MVCでAjaxを使用して3つのカスケードドロップダウンリストを作成
- 3. LINQ2SQLでASP.NET MVC、jQuery/AJAXカスケードドロップダウンリストの問題?
- 4. MVC 5でブートストラップscrollspyを操作する
- 5. wp-mvcプラグインでカスタムルートを操作する
- 6. カスケードドロップダウンリスト
- 7. MVCでのAJAX/jQueryとCRUD操作
- 8. asp mvcのテキストボックスを作成
- 9. 角を操作する2
- 10. symfonyカスケードドロップダウンリスト
- 11. jQueryを使ってPHPでカスケードドロップダウンリストを作成する方法
- 12. ASP.NET MVCとODBC 2.0の操作方法
- 13. ASP.NET MVCビューモデルパターン - 検証とデータベース操作
- 14. ASP.NET MVC編集操作ですか?
- 15. カスケードドロップダウンリストでオートコンプリートを実装する方法
- 16. Zend framework 2/Doctrine 2 /バルク操作とイベントトリガー
- 17. Spring MVC 3 GET操作とPOST操作の間にコマンドオブジェクト値が失われる
- 18. MVC - 一般的な操作
- 19. テキストボックスのMVCで複数行を作成するには?
- 20. ASP.Net MVC2のカスケードドロップダウンリスト
- 21. JAVAはdocx DOCVARIABLEをテキストボックスで操作します
- 22. ViewModelからWPFウィンドウコントロール(タブ、テキストボックス、リストボックス)を操作する方法
- 23. シリアル入力をテキストボックスに表示する - クロススレッド操作
- 24. n個の操作でO(n^2)操作を強制する(再配置)
- 25. C#でデータを操作する操作
- 26. 角2 GET操作
- 27. Ionic 2/Angular - JSONを操作する
- 28. MVCで現在のページ名を取得する操作
- 29. ASP.NETでCRUD操作を実行するViewComponent CORE MVC
- 30. MVC 5隠すテキストボックス