Asp.net mvc 下拉更改显示部分
我使用了第页的dropdownlist 我想,当更改所选id信息时,加载页面底部。 第一次页面加载为真,但使用下拉菜单更改新页面中的加载信息,而不是当前页面的一部分 填充下拉列表Asp.net mvc 下拉更改显示部分,asp.net-mvc,Asp.net Mvc,我使用了第页的dropdownlist 我想,当更改所选id信息时,加载页面底部。 第一次页面加载为真,但使用下拉菜单更改新页面中的加载信息,而不是当前页面的一部分 填充下拉列表 public ActionResult selVahedList(int IdType, int IdChoose) { ViewBag.ChooseItem = IdChoose; IEnumerable<Lcity> Lcitys = Dbcon.Lcitys; var mode
public ActionResult selVahedList(int IdType, int IdChoose)
{
ViewBag.ChooseItem = IdChoose;
IEnumerable<Lcity> Lcitys = Dbcon.Lcitys;
var model = new CityViewMode
{
Lcitys = Lcitys.Select(x => new SelectListItem
{
Value = x.Citycode.ToString(),
Text = x.CityName
})
};
return View(model);
});
查看页面
public ActionResult selVahedListAjax(CityViewMode model)
{
int idcity=Convert.ToInt32(model.SelectedCitycode);
// int idcity = 1;
ViewBag.Reshteh = 1;
//string IdCity = base.Request["SelValue"].ToString();
var res = Dbcon.TaavoniInfos.Where(m => m.IDReshteh == 1 && m.Citycode ==idcity);
return PartialView("selVahedListAjax", res);
}
AjaxOptions ajaxOpts = new AjaxOptions
{
UpdateTargetId = "LoadData",
LoadingElementId="loadAdmin"
};
@using (Ajax.BeginForm("selVahedListAjax",ajaxOpts))
{
<fieldset>
<div class="PContent">
<p class="DroplistCity" id="DroplistCity">
@Html.DropDownListFor(
x => x.SelectedCitycode,
new SelectList(Model.Lcitys, "Value", "Text",""))
<div id="LoadData">
@Html.Action("selVahedListAjax", new { IdReshte = ViewBag.ChooseItem })
</div>
</div>
</fieldset>
}
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$('#SelectedCitycode').change(function () {
this.form.submit();
});
});
</script>
AjaxOptions ajaxOpts=新的AjaxOptions
{
UpdateTargetId=“LoadData”,
LoadingElementId=“loadAdmin”
};
@使用(Ajax.BeginForm(“selVahedListAjax”,ajaxOpts))
{
@Html.DropDownListFor(
x=>x.SelectedCitycode,
新的选择列表(Model.Lcitys,“值”、“文本”和“”)
@Action(“selVahedListAjax”,new{IdReshte=ViewBag.ChooseItem})
}
$(文档).ready(函数(){
$('#SelectedCitycode')。更改(函数(){
这个.form.submit();
});
});
谢谢你的帮助
my partial view code is: @model
IEnumerable<TaavonS.Models.TaavoniInfo>
<ul>
@foreach (var item in Model)
{
<li>:<b>@Html.DisplayFor(modelItem => item.SName)</b></li>
<li>:<b>@Html.DisplayFor(modelItem => item.ModirName)</b></li>
<li><img src="@Url.Content("~/Content/img/list16.png")" alt=""/>
@Html.ActionLink("detail....", "Detaild",new { codef= item.Scode }, new { @class = "openDialog", data_dialog_id = "emailDialog", data_dialog_title = "" } )
<hr class="separatorLine"/></li> when i load page is true but after dropdownlist is nt work
<li>
@if (!string.IsNullOrEmpty(item.TablighatPic))
{
<img src="@Url.Content("~/Content/img/eye.png")"/> @Html.ActionLink("تبلیغات....", "showImg", new { code = item.Scode }, new { @class = "openImg", data_dialog_id = "mailDialog" })<hr class="separatorLine"/>
}
</li>
}
</ul>
我的局部视图代码是:@model
数不清
@foreach(模型中的var项目)
{
- :@Html.DisplayFor(modelItem=>item.SName)
- :@Html.DisplayFor(modelItem=>item.ModirName)
-
@ActionLink(“detail….”,“Detaild”,new{codef=item.Scode},new{@class=“openDialog”,data\u dialog\u id=“emailDialog”,data\u dialog\u title=”“})
当我加载页面时为true,但在dropdownlist之后为nt work
-
@如果(!string.IsNullOrEmpty(item.TablighatPic))
{
@ActionLink(“showImg”,new{code=item.Scode},new{@class=“openImg”,data_dialog_id=“mailliao”})
}
我认为您需要更改您的AjaxOption:
AjaxOptions ajaxOpts = new AjaxOptions
{
UpdateTargetId = "LoadData",
LoadingElementId="loadAdmin",
InsertionMode = InsertionMode.Replace // add this line
};
将参数添加到beginForm调用
@using (Ajax.BeginForm("selVahedListAjax",
new { IdReshte = ViewBag.ChooseItem }, //add this to the Ajax.BeginForm call
ajaxOpts ))
{
如果不希望在用户选择任何内容之前执行ajax调用,请从目标div中删除这一行
@Html.Action("selVahedListAjax", new { IdReshte = ViewBag.ChooseItem })
感谢您的帮助我设置了insertionmode但没有解决我的问题忘记提到您必须将要在LoadData div中显示的内容移动到另一个部分视图,否则,整个页面将被重新插入到目标div中