私はMVC3でアプリケーションを開発しています。ドロップダウンをクリックすると、部分的なビューを表示する必要があります。そのために、ajaxを作成しました。
$("#UserName").change(function () {
var userid = $("#UserName").val();
var ProvincialStateID = $("#State").val();
var Hobbyid = $("#Hobby").val();
var Districtid = $("#DistrictNames").val();
var Homeid = $("#Hobbyhome_EstablishmentId").val();
var urlperson = '@Url.Action("FetchPersonByUserName")';
$.ajax({
type: "POST",
url: urlperson,
data: { userid: userid, stateid: ProvincialStateID, hobbyid: Hobbyid, districtid: Districtid, homeid: Homeid },
success: function (data) {
}
});
});
そして私はコントローラーに次のように関数を書きました:
[HttpPost]
public ActionResult FetchPersonByUserName(int userid,int stateid,int districtid,int homeid,int Hobbyid)
{
//Code to fetch data using all the parameters
return PartialView("_LearnerAssociationGridPartial", list);
}
ここから部分的に表示され、データも表示
されますが、フロントエンドに表示されている間はデータを表示できません。
助けてください多分私のajaxが間違っているかもしれません私がどこで間違っているのか教えてください。
これが私のメインビューです:
@model HobbyHomesWebApp.ViewModel.LearnerAssociationViewModel
@{
Layout = "~/Views/Shared/_LayoutPostLogin.cshtml";
}
@using (Html.BeginForm("LearnerAssociation", "Registration", FormMethod.Post))
{
@Html.ValidationSummary(true)
<table>
<div>
@{Html.RenderPartial("_LearnerAssociationWebPartial", Model.learner);}
</div>
</table>
<table>
<div id="result">
@{Html.RenderPartial("_LearnerAssociationGridPartial", Model.LearnerList);}
</div>
</table>
}
ajax関数は最初のビューに記述され、ドロップダウンは最初のビューにあります。
次に、最初のビューでドロップダウンをクリックすると、2番目のビューにあるグリッドにデータが表示されます。
私の最初のビューは次のとおりです。
@using (Html.BeginForm("LearnerAssociation", "Registration", FormMethod.Post))
{
<table>
<tr>
<td>
@Html.Label(@Resources.selectusername)
</td>
<td>:</td>
<td>
<div class="editor-field">
@Html.DropDownListFor(model => model.Loginaccount.LoginAccountID, new SelectList(ViewBag.UserName, "LoginAccount.LoginAccountID", "FirstName"), "--Select UserName--", new { @id = "UserName" })
</div>
</td>
</tr>
</table>
}