MVCのプロジェクトでは、1つのページに複数のフォームがありますが、フォームは別々のビューとして区切られています。@ Html.actionsメインビュー。これらのフォームの一部は複雑で、テキストボックスと複数の選択リストがあります。私はこのページを完全に動的にしようとしています。なぜなら、そのページがポストまたはページの変更によってリフレッシュされた場合に、そのような大量のコードがリロードされるからです。メインビューの一部は次のようになります。テキストボックスと複数の選択リストを両方とも動的に扱う方法
<div class="row" style="height:500px">
<div class="col-lg-3">
<h3>Groups</h3>
<ul class="nav nav-pills nav-stacked">
<li><a data-toggle="pill" href="#CreGroup"> Create Group</a></li>
<li><a data-toggle="pill" href="#ModGroup"> Modify Group</a></li>
<li><a data-toggle="pill" href="#DelGroup"> Delete Group</a></li>
<li><a data-toggle="pill" href="#ARGS"> Add or Remove Users/Group from Schedule</a></li>
</ul>
</div>
<div class="container col-lg-8 col-lg-offset-1" style="height:95%;border-radius:70px;border-color:darkblue; border:1px solid">
<div class="tab-content col-lg-offset-1">
<div id="CreGroup" class="tab-pane active">
@Html.Action("CreateGroup", "Home")
</div>
<div id="ModGroup" class="tab-pane">
@Html.Action("ModifyGroup", "Home")
</div>
<div id="DelGroup" class="tab-pane">
@Html.Action("DeleteGroup", "Home")
</div>
<div id="ARGS" class="tab-pane">
@Html.Action("ARGS", "Home")
</div>
</div>
</div>
</div>
私はCreateGroupビュー/フォームに集中したいと思います。このフォームには、グループ名、権限、およびタイプがテキストボックスとして表示されます。また、フォームにグループに入れるユーザーを含む複数選択リストもあります。グループビューを作成するためのコントローラは、次のようになります(とそれの写真下にあるレンダリング)
##CreateGroup##
<div class="container" style="text-align:center">
<div class="row">
@using (Html.BeginForm(null, null, FormMethod.Post))
{
<h3>Create Group</h3>
<div class="col-lg-7">
<div class="row">
<div class="col-lg-6" style="text-align:left">
<br/>
<label>Group Name:</label> <br /><br />
<label>Group Type:</label><br /><br />
<label>Group Permissions:</label><br /><br />
<label>Server Name:</label><br /><br />
<label>Server Email:</label><br /><br />
</div>
<div class="col-lg-6" style="text-align:right;">
<br/>
@Html.TextBox("Gname", "Group Name", new { maxlength = 50 })<br /><br />
@Html.TextBox("Gtype", "Group Type", new { maxlength = 50 })<br /><br />
@Html.TextBox("Gpermission", "Permissions", new { maxlength = 50 })<br /><br />
@Html.TextBox("Gserver", "Server Name", new { maxlength = 50 })<br /><br />
@Html.TextBox("Gemail", "Server Email", new { maxlength = 50 })<br /><br />
<br />
</div>
</div>
</div>
<div class="col-lg-4 col-lg-offset-1">
<label> Select Users for Group: </label>
@Html.ListBox("GUsers", ViewBag.Users as MultiSelectList,
new { @class = "chzn-select", @style = "width:150px; height:250px" })
</div>
}
</div>
<div class="row">
<div class="col-lg-1 col-lg-offset-8">
<button class="btn btn-primary dropdown-toggle" id="Button1" type="button" onclick="group()"> Create Group(s)</button>
</div>
</div>
:今
[HttpGet]
public ActionResult CreateGroup()
{
List<string> u = new List<string>();
object[] users = data.getDataFrmDB("Select username From `users`;");
if (users != null)
{
foreach (object[] user in users)
{
u.Add((string)user[0]);
}
}
ViewBag.GUsers = new MultiSelectList(u, "Username");
return View();
}
ビューは次のようになります
今は、テキストボックスのみのフォームを処理するためにajaxを使用していますが、リストボックスがある場合は機能しないようです。では、ページをリロードしないで、これらの値をすべてコントローラに動的に投稿するにはどうすればよいですか?前もって感謝します。
あなたの質問は、[このSO](コントローラに戻って投稿するリストボックスから値を選択し得ることについてである場合のhttp:コントローラここ
されています。ここでは
は、JSONの投稿です://stackoverflow.com/questions/28424067/get-a-list-of-the-selected-values-in-a-listbox)が役立つかもしれません。 –私はそれを行う方法を知っています、私はどのようにマルチ選択リストとテキストボックス@SivaGopal –