0

正しく動作するajax関数があります

$.ajax({
              type: "POST",
              url: urlemp,
              success: function (returndata) {
                  if (returndata.ok) {
                    //  var data = eval("" + returndata.data + "");
                      select.empty();
                      $.each(returndata.data, function (rec) {

                          select.append($('<option>' + returndata.data[rec].Name + '</option>'));
                      });
                      select.show('slow');
                      select.change();
                  }
                  else {
                      window.alert(' error : ' + returndata.message);
                  }

              }
          }
          );

ビューでは、このセレクターコードを使用します

<select id="cmbDept" onload="javascript:cascadingdropdown()"> 
        </select>

ここで、このセレクターのコードを@ Html.xxxxのようなRazorタイプに変更したいと思います。どうすればよいですか?

4

1 に答える 1

1

次のようなものを試してください:

 public class NamesViewModel
  {
    public string SelectedName { get; set; }
    public IEnumerable<SelectListItem> Name { get; set; }
   }

コントローラ:

  public class HomeController : Controller
  {
     public ActionResult Index()
     {
      var model = new NamesViewModel();
       // TODO: obviously those will come from your database
      model.Names = new[]
      {
        new SelectListItem { Value = "1", Text = "Mary" },
        new SelectListItem { Value = "2", Text = "Joan" },
        new SelectListItem { Value = "3", Text = "Lisa" },
      };

      // Preselect the option with Value = "Mary"
      // Make sure you have such option in the NAmes list
       model.SelectedName = "Mary";
       return View(model);
      }
      }

     View (~/Views/Home/Index.cshtml):

     @model NamesViewModel

    @Html.DropDownListFor(
        x => x.SelectedName,
       Model.Name, 
       "Select Name"
     )
于 2013-01-23T14:35:44.230 に答える