0
フォームに3つのドロップダウンがあり、ユーザーが選択したデータを失わないようにするために、リフレッシュしたり、他のページに移動して戻ったりしています。クッキーから選択した値を設定する
これは私が3つのドロップダウンを持っている私の見解である:
私は、ユーザーが選択したデータを格納するためにクッキーを使用します。ここでは
@using (Ajax.BeginForm("SearchForCars", "Home", null, new AjaxOptions { UpdateTargetId = "DivCategoriesTree", OnSuccess = "success", HttpMethod = "Post" }, new { make = "makes" }))
{
<div>
<div class="col-sm-4" style="height: 10em;display: flex;align-items: center ; padding-top:25px;">
<i class="fa fa-car" style="font-size:60px;color:red; padding-left:20px;"></i>
<strong style="padding-left:20px;">Vă rugăm să selectați vehiculul dumneavoastră!</strong>
</div>
<div class="col-sm-4">
<div style="padding-top:15px;">
<form class="form-control-static">
<div class="form-group">
<div class="row">
<div class="col-sm-10">
@if (ViewData.ContainsKey("makes"))
{
@Html.DropDownList("makes", ViewData["makes"] as List<SelectListItem>, "--Select car--", new { @class = "dropdown-toggle form-control" })
}
</div>
</div>
<div class="row">
<div class="col-sm-10">
<p></p>
@Html.DropDownList("models", new SelectList(string.Empty, "Value", "Text"), "--Select model--", new { @class = "dropdown-toggle form-control" })
</div>
</div>
<div class="row">
<p></p>
<div class="col-sm-10">
@Html.DropDownList("engines", new SelectList(string.Empty, "Value", "Text"), "--Select engine--", new { @class = "dropdown-toggle form-control" })
</div>
</div>
</div>
</form>
</div>
</div>
<div class="col-sm-4" style="height: 10em;display: flex;align-items: center ; padding-top:25px;">
<input type="submit" id="btnSearch" class="btn btn-default active" value="Cauta" disabled="disabled" style="width:150px;" />
</div>
</div>
}
</div>
は3つのドロップダウンがあります。
私はこのように、コントローラからのドロップダウンリストを設定しようとしました:
public ActionResult Index()
{
var asa = HttpContext.Request.Cookies.Get("make_model_engine");
var model = asa.Values["model"].ToString();
var make = asa.Values["make"].ToString();
var makeList = new SelectList(makeRepository.GetMakes(), "ID", "Name");
ViewData["makes"] = makeList;
**var selected = makeList.Where(x => x.Value == make).First();
selected.Selected = true;**
return View();
}
それが選択した値が正しくクッキーから設定されている、それが動作しないようですが、ドロップダウンが選択された値を表示されません。 私はjavascriptのビューでこれを修正する必要があると思いますが、私はjavascriptを初めて使用しています。このために最も良い修正が何か分かりません。 どうすればこの問題を解決できますか? ありがとうございました!
これは、最初のドロップダウン、感謝のために働いています! 2番目と3番目のドロップダウンでは、jqueryからビルドされているため、別の修正が必要です。私はコントローラからそれらに到達することはできません。 – Orsi
jqueryでビルドされている場合は、javascriptで選択した値を設定する必要があります。 –
はい、しかし、私は非常に新しいJavaScriptと私はどのようにjsでそれを行うための最善の方法がわからない。 – Orsi