Airlineタブにドロップダウンリストを表示したいとします。そのために私はコントローラでViewbagを使ってデータをドロップダウンリストにロードしています。私はCSHTMLとコントローラメソッドのドロップダウンリストを取得するために行う必要がありますどのような変更javascriptを使用したasp.net mvcのドロップダウンリスト
@{
ViewBag.Title = "Create";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div class="col-sm-12">
<h4> Daily Passenger Entry</h4>
</div>
<script>
</script>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div id="PrimaryPurchase" style="display:inline" class="col-sm-12">
<table class="table table-bordered table-striped dataTable" id="portfolio">
<thead>
<tr>
<th class="" style="width:8%">Flight No.</th>
<th class="" style="width:10%">Date</th>
<th class="" style="width:8%">Sector</th>
<th class="" style="width:14%">Airline</th>
<th class="" style="width:8%">Aircraft</th>
<th class="" style="width:8%">Supply</th>
<th class="" style="width:8%">POB</th>
<th class="" style="width:8%">Occ %</th>
<th class="" style="width:7%">ETD</th>
<th class="" style="width:7%">ATD</th>
<th class="" style="width:7%">Delay</th>
<th class="" style="width:5%"></th>
</tr>
</thead>
<tbody>
@*<div id="itemList">
</div>*@
</tbody>
</table>
<div class="form-group col-sm-12"><span onclick="addItem()" style="cursor:pointer;width:80px;" class="btn btn-primary"><i class="fa fa-plus" style="padding-right:5px;"></i>Add</span></div>
</div>
<div class="form-group col-sm-12"><input type="submit" value="Save" class="btn btn-primary" style="width:80px;" /></div>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
<style>
td {
padding: 0 !important;
}
</style>
<script>
var cd = new Date();
var rowindex = 1;
function addItem() {
msg = '<tr><input type="hidden" name="hddrowpindex" value="' + rowindex + '" class="rowcount"/>';
msg += '<td class="center-fix" >';
msg += '<input class="form-control" style="text-transform:uppercase; padding:0px,margin:0px;" type="text" name="FlightNumber-' + rowindex + '" id="FlightNumber-' + rowindex + '" placeholder="YA-000" />';
msg += '</td>';
msg += '<td class="center-fix">';
msg += '<input type="text" class="form-control datepicker" name="DepartureDate-' + rowindex + '" id="DepartureDate-' + rowindex + '" placeholder="YYYY/MM/DD" />';
msg += '</td>';
msg += '<td class="center-fix">';
msg += '<input type="text" class="form-control" style="text-transform:uppercase" name="SectorPair-' + rowindex + '" id="SectorPair-' + rowindex + '" placeholder="SOU-DES" />';
msg += '</td>';
msg += '<td class="center-fix">';
msg += '<input type="text" class="form-control" style="text-transform:uppercase" name="Airline-' + rowindex + '" id="Airline-' + rowindex + '" placeholder="Airline" />';
msg += '</td>';
msg += '<td class="center-fix">';
msg += '<input type="text" class="form-control" style="text-transform:uppercase" name="Aircraft-' + rowindex + '" id="Aircraft-' + rowindex + '" placeholder="Aircraft" />';
msg += '</td>';
msg += '<td class="center-fix">';
msg += '<input type="text" class="form-control" name="Supply-' + rowindex + '" id="Supply-' + rowindex + '" placeholder="Supply" value="0" onblur="calcpercent(' + rowindex + ')" />';
msg += '</td>';
msg += '<td class="center-fix">';
msg += '<input type="text" class="form-control" name="POB-' + rowindex + '" id="POB-' + rowindex + '" placeholder="0" value="0" onblur="calcpercent(' + rowindex + ')" />';
msg += '</td>';
msg += '<td class="center-fix">';
msg += '<input type="text" class="form-control" name="OccPercent-' + rowindex + '" id="OccPercent-' + rowindex + '" placeholder="0" value="0" />';
msg += '</td>';
msg += '<td class="center-fix">';
msg += '<input type="text" class="form-control " name="ETD-' + rowindex + '" id="ETD-' + rowindex + '" placeholder="hh:mm" value="00:00" onblur="calcdelay(' + rowindex + ')" />';
msg += '</td>';
msg += '<td class="center-fix">';
msg += '<input type="text" class="form-control" name="ATD-' + rowindex + '" id="ATD-' + rowindex + '" placeholder="hh:mm" value="00:00" onblur="calcdelay(' + rowindex + ')" />';
msg += '</td>';
msg += '<td class="center-fix">';
msg += '<input type="text" class="form-control" name="Delay-' + rowindex + '" id="Delay-' + rowindex + '" placeholder="hh:mm" value="00:00" />';
msg += '</td>';
msg += '<td class="center-fix" style="text-align:center;"><a href="" ><span id="remove-' + rowindex + '" style="cursor:pointer"><i class="fa fa-trash"></i>Remove</span></a>';
msg += ' <span id="perror-' + rowindex + '" style="display:none"><i class="fa fa-exclamation-triangle faa-exclamation-triangle animated"></i></span></td>';
msg += '</tr>';
$('table#portfolio tbody').append(msg);
$(".datepicker").datepicker({
defaultDate: cd,
changeMonth: true,
changeYear: true,
yearRange: '2015:2030',
dateFormat: 'yy/mm/dd'
});
rowindex++;
}
</script>
@*<script src="https://www.aber.ac.uk/corporate-javascript/jquery/jquery-1.6.2.js"></script>*@
@*<script src="~/assets/js/ajax/libs/jquery/1.10.1/jquery.min.js"></script>*@
<script>
$(function() {
debugger;
$("#portfolio").on("click", "tr a", function (e) {
e.preventDefault();
if (confirm("Are you sure to remove?")) {
//removeitem($(this).closest("tr").find(".rowcount").val());
$(this).parents('tr').remove();
//computeAvg();
}
});
});
function calcpercent(rowind) {
$("#OccPercent-" + rowind).val(Math.round(($("#POB-" + rowind).val()/$('#Supply-' + rowind).val()) * 100));
}
function calcdelay(rowinde) {
var etd = ($("#ETD-" + rowinde).val()).split(':');
var atd = ($("#ATD-" + rowinde).val()).split(':');
var etds = etd[0] * 60 * 60 + etd[1] * 60;
var atds = atd[0] * 60 * 60 + atd[1] * 60;
var delay = atds - etds;
if (delay < 0) {
delay = delay * -1;
}
d = Number(delay);
var h = Math.floor(d/3600);
var m = Math.floor(d % 3600/60);
if (h < 10) {
h = "0" + h;
}
if (m < 10) {
m = "0" + m;
}
$("#Delay-" + rowinde).val(h + ":" + m);
}
</script>
として
// GET: /DailyPax/Create
public ActionResult Create()
{
ViewBag.Airlines = new SelectList(db1.Airlines.ToList(), "Id", "Name");
return View();
}
// POST: /DailyPax/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(FormCollection frmcoll, ICollection<string> hddrowpindex)
{
foreach (var row in hddrowpindex)
{
/*
CUS_Investment Entry
*/
DailyPassengerFlow stock = new DailyPassengerFlow();
stock.FlightNumber = (frmcoll["FlightNumber-" + row]).ToString();
stock.DepartureDate = DateTime.ParseExact(frmcoll["DepartureDate-" + row], "yyyy/MM/dd", null);
stock.SectorPair = frmcoll["SectorPair-" + row];
stock.Airline = frmcoll["Airline-" + row];
stock.Aircraft = frmcoll["Aircraft-" + row];
stock.Supply = Convert.ToInt32(frmcoll["Supply-" + row]);
stock.POB = Convert.ToInt32(frmcoll["POB-" + row]);
stock.OccPercent = Convert.ToDecimal(frmcoll["OccPercent-" + row]);
stock.ETD = TimeSpan.Parse(frmcoll["ETD-" + row]);
stock.ATD = TimeSpan.Parse(frmcoll["ATD-" + row]);
stock.Delay = TimeSpan.Parse(frmcoll["Delay-" + row]);
db.DailyPassengerFlows.Add(stock);
db.SaveChanges();
}
return RedirectToAction("Index");
}
と見ます。私はデータベースの最初のアプローチ方法を使用しています。誰でも私に適切な解決策を見つけてください。私はたくさん試しましたが、得ることはできません。あなたの元のコードを使用してあなただけの罰金文字列のコレクションを受け入れるべきDropDownListのHTMLヘルパーを使用することができるはず、さらにこの
public ActionResult Create()
{
List<String> AirLinesList = db1.Airlines.ToList();
var selectListItems = AirLinesList.Select(x => new SelectListItem(){ Value = x, Text = x }).ToList();
return View(selectListItems);
}
を好きに機能GET)(作成ご変更してください
は、使用している** ViewBag.Airlines **あなたのビューでコレクション?私はそれを見つけることができません。 – vibs2006
@ vibs2006私は使用しましたが、動作しません。 –
ドロップダウンリストを作成する方法は2つあります。まず、View Itself ** @ Html.DropdownListFor(..)**でMVCのHTMLヘルパー機能を使用するか、GET RequestでJSONデータを返す必要があります。どちらも一般的に動作します。私は多くのプロジェクトで使用しています。 – vibs2006