0
私はこのビューを持っています。このビューをロード中に最初のドロップダウン選択値に基づいて2番目のドロップダウンをバインドする方法ASP.NET MVC3
@if (@Model.QuestionType == 12)
{
<div data-role="fieldcontain">
@using (Ajax.BeginForm("SaveFormBuilder", "GetQuestion", new { QuestionNo = Model.QuestionNo, PreviousQuestionNo = Model.PreviousQuestion }, new AjaxOptions { }, new { id = "myform_" + @Model.QuestionNo }))
{
@Html.AntiForgeryToken()
<fieldset id="@(Model.QuestionNo)_fld">
<div id="country" style="display: @(Model.FormBuilder.IsCountryDisplay == true ? "block" : "none")">
<label class="select">@Model.FormBuilder.CountryText
</label>
<select id="countrylstdrp" name="Country" required="@(Model.FormBuilder.IsCountryRequired == true ? "true" : "false")" onchange="FillStates()">
@if (Model.FormBuilder.CountryList != null)
{
<option value="-1">--Select--</option>
foreach (var country in Model.FormBuilder.CountryList)
{
<option value="@country.CountryId">@country.CountryName</option>
}
}
</select>
</div>
<div id="state" style="display: @(Model.FormBuilder.IsCountryDisplay == true ? "block" : "none")">
<label class="select">@Model.FormBuilder.StateText
</label>
<select id="statelistdrp" name="State" required="@(Model.FormBuilder.IsStateRequired == true ? "true" : "false")">
<option id="-1" value="select">----Select--</option>
</select>
</div>
<br />
</fieldset>
<div data-role="none" style="float: right">
<input type="submit" id="@(Model.QuestionNo)_chknone" data-inline="true" onclick="return SaveCheckBoxNew(this);" value="@Model.SubmitButtonText" />
</div>
}
</div>
}
私はすべての国の値を結合しています。私の仕事は、ユーザーが国を変更して尊重された状態をロードするときです。 私のコントローラ
[HttpPost]
public ActionResult LoadStates(int countryId)
{
List<State> lstate=ques.GettheStates(countryId);
return Json(lstate);
}
でと私のモデルは パブリッククラス州立 { プライベートint型_stateIdです。 プライベート文字列_stateName;
public string StateName
{
get { return _stateName; }
set { _stateName = value; }
}
public int StateId
{
get { return _stateId; }
set { _stateId = value; }
}
}
と私はこのコントローラアクションを呼び出しています。
function FillStates() {
var countryId = $(countrylstdrp).val();
$.ajax({
url: 'LoadStates',
type: 'POST',
data: JSON.stringify({ countryId: countryId }),
dataType: 'json',
contentType: 'application/json',
success: function (data) {
alert('success');
}
});
}
しかし、その理由は何ですか? どうすればmvc3でこれを行うことができます。 ありがとうございます。