0

ページのドロップダウンリストから使用しました。

選択した ID 情報を変更するときに、ページの下部をロードします。初めてそのページの読み込みが true になりますが、現在のページの一部ではなく、新しいページでドロップダウンの読み込み情報が変更されます。

ドロップダウン リストを埋める

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>

ご協力いただきありがとうございます

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>
4

1 に答える 1

0

ajaxOptions を変更する必要があると思います:

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 })
于 2013-08-26T07:37:37.503 に答える